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 了解更多详情。
使用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 了解更多详情。