redis系列-springboot集成redis,本文介绍springboot通过spring data redis集成redis,并通过redisTemplate操作redis。
springboot集成redis
maven pom.xml添加spring-data-redis依赖1
2
3
4<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
配置redis
新增application-redis.properties配置文件1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18# Redis数据库索引(默认为0)
spring.redis.database=0
# Redis服务器地址
spring.redis.host=127.0.0.1
# Redis服务器连接端口
spring.redis.port=6379
# Redis服务器连接密码(默认为空)
spring.redis.password=
# 连接池最大连接数(使用负值表示没有限制)
spring.redis.pool.max-active=8
# 连接池最大阻塞等待时间(使用负值表示没有限制)
spring.redis.pool.max-wait=-1
# 连接池中的最大空闲连接
spring.redis.pool.max-idle=8
# 连接池中的最小空闲连接
spring.redis.pool.min-idle=0
# 连接超时时间(毫秒)后面不要加空格 切记
spring.redis.timeout=100000
在application.properties引入redis配置1
2#引入其他配置文件
spring.profiles.active= datasource,mybatis,tomcat,redis
reidsTemplate配置
新建redisConfig配置类,对String、hash的key、value进行序列化1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public class RedisConfig extends CachingConfigurerSupport {
/**
* retemplate配置
* @param factory
* @return
*/
public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory) {
RedisTemplate redisTemplate = new StringRedisTemplate(factory);
//序列化~~~~
StringRedisSerializer stringRedisSerializer =new StringRedisSerializer();
redisTemplate.setValueSerializer(stringRedisSerializer);
redisTemplate.setKeySerializer(stringRedisSerializer);
redisTemplate.setHashKeySerializer(stringRedisSerializer);
redisTemplate.setHashValueSerializer(stringRedisSerializer);
redisTemplate.afterPropertiesSet();
return redisTemplate;
}
}
redis工具类
1 | /** |
调用redisUtil
对外接口调用redisUtil操作redis1
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99/**
* @author dxy
* @date 2019-08-22
* @describe RedisRest
*/
"/redis") (
public class RedisRest extends CommonRest<Object>{
private static final Logger LOGGER = LoggerFactory.getLogger(RedisRest.class);
private RedisUtil redisUtil;
/**
* String-->get
* @param key
* @return
*/
"/get",method = RequestMethod.GET) (value=
public SimpleMessage<Object> get(String key){
SimpleObjectMessage<Object> sm = new SimpleObjectMessage<Object>();
try {
LOGGER.info("string-->get:key={};",key);
Object rs = redisUtil.get(key);
LOGGER.info("string-->get:value={};",rs);
//查询
sm.setRecord(rs);
} catch (Exception e) {
e.printStackTrace();
return error(e);
}
return sm;
}
/**
* string-->set
* @param key
* @param value
* @return
*/
"/set",method = RequestMethod.GET) (value=
public SimpleMessage<Object> set(String key,String value){
SimpleObjectMessage<Object> sm = new SimpleObjectMessage<Object>();
try {
LOGGER.info("string-->set:key={};value={};",key,value);
redisUtil.set(key,value);
//查询
sm.setRecord("插入string成功");
} catch (Exception e) {
e.printStackTrace();
return error(e);
}
return sm;
}
"/lGet",method = RequestMethod.GET) (value=
public SimpleMessage<Object> lGet(String key,long start,long end){
SimpleObjectMessage<Object> sm = new SimpleObjectMessage<Object>();
try {
LOGGER.info("list-->get:key={};strtIndex={};endIndex={};",key,start,end);
List<Object> list = redisUtil.lGet(key, start, end);
//查询
sm.setRecord(list);
} catch (Exception e) {
e.printStackTrace();
return error(e);
}
return sm;
}
"/lSet",method = RequestMethod.POST) (value=
public SimpleMessage<Object> lSet(String key, @RequestParam(value = "list") List<Object> list, long time){
SimpleObjectMessage<Object> sm = new SimpleObjectMessage<Object>();
try {
LOGGER.info("list-->set:key={};list={};endIndex={};",key,list.size(),time);
redisUtil.lSet(key,list,time);
//查询
sm.setRecord("插入list成功!");
} catch (Exception e) {
e.printStackTrace();
return error(e);
}
return sm;
}
}