我有以被动方式从Redis删除密钥的问题-仅删除了一个密钥。但是查找查询会返回多个结果。
redisTemplate.delete(redisTemplate.keys(PREFIX + STAR_PATTERN))
.subscribe(count -> LOGGER.info("Removed {}", count));
此代码仅删除一个键(最后一个); 但是当我将此代码更改为:
redisTemplate.keys(PREFIX + STAR_PATTERN)
.flatMap(redisTemplate::delete)
.subscribe(key -> LOGGER.info("Removed from cache {}", key))
工作正常。
为什么第一个代码没有删除所有键?
答案 0 :(得分:1)
对我来说,这似乎是个错误。 ReactiveRedisTemplate.delete(Publisher)
仅认为要删除的第一个返回键,而不考虑后续的键。
我提交了DATAREDIS-913来跟踪问题。