美文网首页
Redis CacheManager 2.0设置缓存过期时间变动

Redis CacheManager 2.0设置缓存过期时间变动

作者: WunHwan | 来源:发表于2018-10-13 09:39 被阅读0次

Spring Data Redis 2.0

参考文档:Spring Data Redis 2.1.0 Document

原因

SpringBoot:2.0.4
因为业务需要使用Spring Cache作为缓存。而我在百度找到的结果都是2.0之前的,Spring Data Redis的CacheManager的实现RedisCacheManager发生了很大变动,配置无法向下兼容,以下是2.0之前的配置。

@Bean
public RedisCacheManager cacheManager(RedisTemplate redisTemplate) {
    RedisCacheManager cacheManager = new CustomizeRedis(redisTemplate);
    cacheManager.setUsePrefix(false);
    cacheManager.setDefaultExpiration(60);
    return cacheManager;
}

修改

  1. 我在Spring Data Redis 2.1.0 Document文档中无意发现发生了改变。

    2.0 RedisCacheManager change
  2. SpringBoot 2.0.4使用的Spring Data Redis version


    SpringBoot 2.0.4
  3. 修改后

@Bean
public CacheManager cacheManager(@Autowired RedisConnectionFactory connectionFactory) {
      return RedisCacheManager
            .builder(connectionFactory)
            .cacheDefaults(RedisCacheConfiguration.defaultCacheConfig().entryTtl(Duration.ofMinutes(5)))
            .transactionAware()
            .build();
    }

过期时间就生效了


Redis TTL

相关文章

网友评论

      本文标题:Redis CacheManager 2.0设置缓存过期时间变动

      本文链接:https://www.haomeiwen.com/subject/moanaftx.html