【发布时间】:2019-12-19 15:58:33
【问题描述】:
我之前使用的是 Spring data Redis 版本 1.4.4。由于除了连接超时外,我还必须配置读取超时,因此我已将版本升级到 2.1.6。但是现在我无法使用 RedisTemplate 创建 Rediscachemanager 实例,因为它已从 spring data redis 2.0 版中弃用。有人可以帮忙用升级版本实现以下类似配置(使用 RedisTemplate 的键/值序列化)。
final JedisConnectionFactory redisConnectionFactory = new JedisConnectionFactory();
redisConnectionFactory.setHostName(redisHost);
redisConnectionFactory.setTimeout(10000);
redisConnectionFactory.setPort(port);
redisConnectionFactory.setUsePool(true);
redisConnectionFactory.afterPropertiesSet();
@Bean(name = "redisCacheManager")
public CacheManager cacheManager(final RedisTemplate<String,Object> redisTemplate) {
final RedisCacheManager manager = new RedisCacheManager(redisTemplate());
manager.setDefaultExpiration(Long.parseLong(expiryInSecs));
return manager;
}
@Bean(name="redisTemplate")
public RedisTemplate<String, Object> redisTemplate() {
final RedisTemplate<String, Object> redisTemplate = new RedisTemplate<String, Object>();
redisTemplate.setConnectionFactory(redisConnectionFactory());
redisTemplate.setKeySerializer(stringRedisSerializer());
redisTemplate.setHashKeySerializer(stringRedisSerializer());
redisTemplate.setValueSerializer(stringRedisSerializer());
redisTemplate.setHashValueSerializer(stringRedisSerializer());
redisTemplate.afterPropertiesSet();
return redisTemplate;
}
【问题讨论】:
标签: java spring redis spring-data jedis