Spring jedis возвращает список ключей пустым - PullRequest
0 голосов
/ 31 января 2019

Я пытаюсь получить список ключей от Redis, но это не работает.

    @Autowired
    org.springframework.data.redis.core.RedisTemplate redisTemplate;

    redisTemplate.opsForValue().set("test","test");
    redisTemplate.opsForValue().set("t:test","test");
    redisTemplate.opsForValue().set("t::test1","test");
    redisTemplate.opsForValue().set("t1.t2::test2","test");
    Set<String> keys = redisTemplate.keys("t*");

Я пробовал разные шаблоны для ключей "*", "t: *", "t :: *".Ничего не работаетТолько если я напишу полное имя ключа, это сработает.

Создание кода компонента:

@Bean
RedisTemplate<String,Object> redisTemplate(@Autowired JedisConnectionFactory jedisConnectionFactory){
    RedisTemplate<String,Object> template=new RedisTemplate<>();
    template.setConnectionFactory(jedisConnectionFactory);
    return template;
}

@Bean
JedisConnectionFactory jedisConnectionFactory(@Value("${redis.host:192.168.99.100}") String host, @Value("${redis.port:6379}") int port, @Value("${redis.password:}") String password){
    RedisStandaloneConfiguration redisStandaloneConfiguration = new RedisStandaloneConfiguration(host, port);
    redisStandaloneConfiguration.setPassword(RedisPassword.of(password));
    return new JedisConnectionFactory(redisStandaloneConfiguration);
}

1 Ответ

0 голосов
/ 13 февраля 2019

Добавить ключ сериализатора.

template.setKeySerializer(new StringRedisSerializer());
...