springboot 集成redis 本身比较简单,网上教程也比较多,此处简要记录一下吧
1、引入maven 依赖(版本号根据springboot 的版本号确定)
如果springboot 父pom 版本号为1.x ,此处redis 版本号为2.x,则会有意想不到的问题,问题将会在另一篇文章中描述
<!-- redis -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
2、在application.properties中配置redis的信息
##单服务器
spring.redis.host=127.0.0.1
##单端口
spring.redis.port=6379
## 连接池最大连接数(使用负值表示没有限制)
spring.redis.pool.max-active=300
## Redis数据库索引(默认为0)
spring.redis.database=0
## 连接池最大阻塞等待时间(使用负值表示没有限制)
spring.redis.pool.max-wait=-1
## 连接池中的最大空闲连接
spring.redis.pool.max-idle=100
## 连接池中的最小空闲连接
spring.redis.pool.min-idle=20
## 连接超时时间(毫秒)
spring.redis.timeout=60000
#哨兵的配置列表
#spring.redis.sentinel.master=qsmaster
#spring.redis.sentinel.nodes=127.0.0.1:6389,127.0.0.1:6390
#哨兵模式和单机服务,只配置一个即可,具体根据实际情况配置
3、在项目中直接注入
@Autowired
private StringRedisTemplate stringRedisTemplate;
或者
@Autowired
private RedisTemplate redisTemplate;
然后调用相关api即可。
StringRedisTemplate 和RedisTemplate的区别在于,StringRedisTemplate把缓存的key和value 作为字符串序列化处理,存入到redis中,若存储对象,一般是把把对象转为json串,存入,取出时把json字符串在转为对象。
RedisTemplate则是把key和value 进行jdk的序列化,RedisTemplate适合对象存储,把对象存入到redis中,在取出时,不需要做对象转换