【发布时间】:2018-09-14 06:09:47
【问题描述】:
我正在将一个使用 Spring Data Redis 的项目升级到 2.x。以前,可以使用RedisCacheManager.setDefaultExpiration(defaultExpireTime) 为缓存管理器配置默认过期时间。这个选项似乎在 2.x 中不存在。 2.x 中的等价物是什么?是RedisCacheConfiguration.entryTtl(ttl),还是别的什么?
我可能遗漏了一些东西,但我没有找到 Spring Data Redis 2.x 的迁移指南。有这样的迁移指南吗?
简而言之,我想将以下代码迁移到 Redis 2.x:
public CacheManager cacheManager() {
RedisCacheManager redisCacheManager = new RedisCacheManager(redisTemplate());
redisCacheManager.setDefaultExpiration(DEFAULT_EXPIRATION_SECONDS);
return redisCacheManager;
}
public RedisTemplate<String, Object> redisTemplate() {
RedisTemplate<String, Object> template = new RedisTemplate<>();
template.setConnectionFactory(redisConnectionFactory());
return template;
}
以下是等价的吗?如果不是,Redis 2.x 中的等效代码是什么?
public CacheManager cacheManager() {
return RedisCacheManager.builder(redisConnectionFactory())
.cacheDefaults(RedisCacheConfiguration.defaultCacheConfig().entryTtl(DEFAULT_EXPIRATION_DURATION))
.build();
}
【问题讨论】:
-
是的,它是等价的
标签: spring redis spring-data spring-data-redis