RedisTemplate keys(String pattern) 方法给出空集

RedisTemplate keys(String pattern) method is giving empty set

使用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*");

请帮帮我。

确保使用 StringRedisSerializer 序列化密钥。 Spring Data Redis 默认为 JdkSerializationRedisSerializer,由于其工作方式,它不允许进行全局搜索。

查看 reference documentation 了解更多详情。