1、在SpringBoot的application.yml配置文件中配置redis数据库的相关信息,这里改动主要有两点,其一是时间相关的属性,如spring.redis.timeout,在1.0中,时间相关的配置参数类型为int,默认单位为毫秒,配置中只需指定具体的数字即可,而在2.0中,时间相关的配置的参数类型都改为了jdk1.8的Duration,因此在配置文件中配置redis的连接超时时间timeout时,需要加入时间单位,如60s;其二是,在2.0中配置redis的连接池信息时,不再使用spring.redis.pool的属性,而是直接使用redis的lettuce或jedis客户端来配置,具体配置信息如下:
spring:
redis:
host: 127.0.0.1
port: 6379
database: 0
timeout: 60s # 数据库连接超时时间,2.0 中该参数的类型为Duration,这里在配置的时候需要指明单位
# 连接池配置,2.0中直接使用jedis或者lettuce配置连接池
jedis:
pool:
# 最大空闲连接数
max-idle: 500
# 最小空闲连接数
min-idle: 50
# 等待可用连接的最大时间,负数为不限制
max-wait: -1s
# 最大活跃连接数,负数为不限制
max-active: -1
2、通过配置Spring的CacheManager为redis,即可指定使用redis做缓存,具体的配置方式跟1.0也有所不同,在1.0中使用RedisTemplate即可实例化一个RedisCacheManager:
@Bean
public CacheManager cacheManager(@SuppressWarnings("rawtypes") RedisTemplate redisTemplate) {
CacheManager cacheManager=new RedisCacheManager(redisTemplate);
return cacheManager;
}
在2.0中删除了这个构造器,同时也不可以通过之前的setDefaultExpiration方法设置默认的缓存过期时间等,在新版本中可以通过以下的方式构造一个RedisCacheManager:
@Bean
public CacheManager cacheManager(RedisConnectionFactory factory) {
RedisCacheManager cacheManager = RedisCacheManager.create(factory);
return cacheManager;
}
本文介绍了Spring Boot 2.x版本中配置Redis缓存的两个关键变化:1) 时间配置需指定单位,如`timeout: 60s`;2) 连接池配置改为使用lettuce或jedis客户端,不再使用`spring.redis.pool`。同时,针对CacheManager的配置也发生了变化,旧版通过RedisTemplate实例化RedisCacheManager,新版则需采用新的构造方式设置默认过期时间。
&spm=1001.2101.3001.5002&articleId=81867076&d=1&t=3&u=25cd2d2e9643459aaca9892b59657dcf)
431

被折叠的 条评论
为什么被折叠?



