依赖如下:
1
2
3
4
|
<dependency> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter-data-redis</artifactid> </dependency> |
配置文件如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
spring: redis: open: true # 是否开启redis缓存 true 开启 false 关闭 database: 0 host: 47.104 . 208.124 port: 6378 password: lf. 1228 # 密码(默认为空) timeout: 6000 # 连接超时时长(毫秒) pool: max-active: 1000 # 连接池最大连接数(使用负值表示没有限制) max-wait: - 1 # 连接池最大阻塞等待时间(使用负值表示没有限制) max-idle: 10 # 连接池中的最大空闲连接 min-idle: 5 # 连接池中的最小空闲连接 |
redisconfig类:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
@configuration public class redisconfig { @autowired private redisconnectionfactory factory; @bean public redistemplate<string, object> redistemplate() { redistemplate<string, object> redistemplate = new redistemplate<>(); redistemplate.setkeyserializer( new stringredisserializer()); redistemplate.sethashkeyserializer( new stringredisserializer()); redistemplate.sethashvalueserializer( new stringredisserializer()); redistemplate.setvalueserializer( new stringredisserializer()); redistemplate.setconnectionfactory(factory); return redistemplate; } @bean public hashoperations<string, string, object> hashoperations(redistemplate<string, object> redistemplate) { return redistemplate.opsforhash(); } @bean public valueoperations<string, string> valueoperations(redistemplate<string, string> redistemplate) { return redistemplate.opsforvalue(); } @bean public listoperations<string, object> listoperations(redistemplate<string, object> redistemplate) { return redistemplate.opsforlist(); } @bean public setoperations<string, object> setoperations(redistemplate<string, object> redistemplate) { return redistemplate.opsforset(); } @bean public zsetoperations<string, object> zsetoperations(redistemplate<string, object> redistemplate) { return redistemplate.opsforzset(); } } |
redisutils如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
@component public class redisutils { @autowired private redistemplate<string, object> redistemplate; @autowired private valueoperations<string, string> valueoperations; @autowired private hashoperations<string, string, object> hashoperations; @autowired private listoperations<string, object> listoperations; @autowired private setoperations<string, object> setoperations; @autowired private zsetoperations<string, object> zsetoperations; /** 默认过期时长,单位:秒 */ public final static long default_expire = 60 * 60 * 24 ; /** 不设置过期时长 */ public final static long not_expire = - 1 ; private final static gson gson = new gson(); public void set(string key, object value, long expire){ valueoperations.set(key, tojson(value)); if (expire != not_expire){ redistemplate.expire(key, expire, timeunit.seconds); } } public void set(string key, object value){ set(key, value, default_expire); } public <t> t get(string key, class <t> clazz, long expire) { string value = valueoperations.get(key); if (expire != not_expire){ redistemplate.expire(key, expire, timeunit.seconds); } return value == null ? null : fromjson(value, clazz); } public <t> t get(string key, class <t> clazz) { return get(key, clazz, not_expire); } public string get(string key, long expire) { string value = valueoperations.get(key); if (expire != not_expire){ redistemplate.expire(key, expire, timeunit.seconds); } return value; } public string get(string key) { return get(key, not_expire); } public void delete(string key) { redistemplate.delete(key); } /** * object转成json数据 */ private string tojson(object object){ if (object instanceof integer || object instanceof long || object instanceof float || object instanceof double || object instanceof boolean || object instanceof string){ return string.valueof(object); } return gson.tojson(object); } /** * json数据,转成object */ private <t> t fromjson(string json, class <t> clazz){ return gson.fromjson(json, clazz); } } |
springboot如何封装redis:
redistemplate
所在包: org.springframework.data.redis.core
作用:redis模板,redis事务,序列化支持,操作redis方法
jedisconnectionfactory
所在包:org.springframework.data.redis.connection.jedis
作用:redis连接工厂类,创建redis连接池等
redisautoconfiguration
所在包:org.springframework.boot.autoconfigure.data.redis
作用:将redis配置文件相关信息注入工厂类
redisproperties
所在包:org.springframework.boot.autoconfigure.data.redis
作用:redis连接基础类通过@configurationproperties注解将配置信息注入属性
总结
以上所述是小编给大家介绍的redis在springboot中的使用教程,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
原文链接:https://blog.csdn.net/qq_39533847/article/details/80680873