Метод ключей RedisTemplate (шаблон строки) дает пустой набор

Использование org.springframework.data.redis.core.RedisTemplate для хранения данных на сервере Redis. У меня есть ключи по шаблону, похожему на «abc@xyz@pqr». Хотел получить все ключи, которые имеют начальные буквы как «abc», и использовал метод RedisTemplate.keys(String pattern) для того же, что и ниже:

Set<String> redisKeys = redisTemplate.keys("(abc).*");

for (String key : redisKeys) {
    System.out.println(key);
}

Но это всегда дает мне пустой набор.

// tried this pattern also 
Set<String> redisKeys = redisTemplate.keys("abc*");

Пожалуйста, помогите мне.


person Virat Mishra    schedule 24.07.2017    source источник
comment
redisTemplate.keys("*"); что-нибудь возвращает?   -  person Darshan Mehta    schedule 24.07.2017


Ответы (1)


Обязательно используйте StringRedisSerializer для сериализации ключей. Spring Data Redis по умолчанию имеет значение JdkSerializationRedisSerializer, что не позволяет выполнять поиск в стиле глобуса из-за того, как он работает.

Ознакомьтесь с справочной документацией. подробнее.

person mp911de    schedule 24.07.2017