【发布时间】:2020-02-10 21:44:54
【问题描述】:
我正在使用 Redis 缓存(通过 Jedis 客户端),我想使用 ValueOperations#multiGet,它接受 Collection 的键,并从缓存中返回 List 的对象,同样命令。我的问题是,当某些键在缓存中而其他键不在时会发生什么?我知道在下面使用了Redis MGET,它将为不在缓存中的任何元素返回nil。
我找不到任何关于ValueOperations 将如何解释此响应的文档。我假设他们将是null,当然可以对其进行测试,但是围绕未记录的行为构建系统会很危险。
为了完整起见,这里是缓存客户端的配置方式:
@Bean
public RedisConnectionFactory redisConnectionFactory() {
JedisConnectionFactory redisConnectionFactory = new JedisConnectionFactory();
redisConnectionFactory.setHostName(address);
redisConnectionFactory.setPort(port);
redisConnectionFactory.afterPropertiesSet();
return redisConnectionFactory;
}
@Bean
public ValueOperations<String, Object> someRedisCache(RedisConnectionFactory cf) {
RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
redisTemplate.setConnectionFactory(cf);
redisTemplate.setDefaultSerializer(new GenericJackson2JsonRedisSerializer());
redisTemplate.afterPropertiesSet();
return redisTemplate.opsForValue();
}
我正在使用spring-data-redis:2.1.4
那么,有没有关于这方面的任何文档,或者一些可靠的事实来源?
【问题讨论】:
标签: spring-boot redis spring-data jedis spring-data-redis