Когда я использую spring-data-redis, это касается двух проблем.spring-data-redis с cacheManager
Первая проблема, когда я использую кэш annation для загрузки данных в Redis, но я не могу получить значение по redisTemplate, код, как потоки:
@Bean
RedisTemplate<Object, Object> redisTemplate() {
RedisTemplate<Object, Object> redisTemplate = new RedisTemplate<Object, Object>();
redisTemplate.setConnectionFactory(jedisConnectionFactory());
return redisTemplate;
}
@Bean
public RedisConnectionFactory jedisConnectionFactory() {
JedisConnectionFactory factory = new JedisConnectionFactory();
factory.setHostName("localhost");
factory.setPort(6379);
factory.setUsePool(true);
return factory;
}
@Bean
CacheManager cacheManager() {
RedisCacheManager cacheManager = new RedisCacheManager(redisTemplate());
cacheManager.setDefaultExpiration(86400);
return cacheManager;
}
UserService, как потоки:
@Cacheable("allUsers")
public List<UserModel> getAllUsers() {
logger.info("execute getAllUsers!");
return Arrays.asList(new UserModel("jason"), new UserModel("david"));
}
мой тестовый код:
@Test
public void testCache() {
redisTemplate.delete("allUsers");
userService.getAllUsers(); // load user data
List<Object> users = redisTemplate.opsForList().range("allUsers", 0, -1); // get allUsers from redis
logger.info("get from template");
for(Object user : users) {
logger.info(((UserModel)user).getUsername());
}
logger.info("get from service");
for(UserModel user : userService.getAllUsers()) {
logger.info(user.getUsername());
}
и я нашел кэш «ALLUSERS» в Redis все Пользователи ~, но я также не могу получить значение с помощью этого ключа, как я могу получить значение с помощью redisTemplate и почему ключ является ключом allUsers ~ в redis.
Вторая проблема заключается в том, что я установил ключевой вызов «mykey» по Commond и установил значение «mykey», и я также не могу получить значение null с помощью java-кода, я могу получить значение через commond. Как так? Если две проблемы одинаковы? Кто-нибудь знает об этом? Спасибо заранее. ^.
обновление мой код версии: весна 4.1.6,
весна-данных Redis 1.7.0,
Jedis 2.8.1
Redis 3.2.3