ReactiveRedisTemplate删除不删除发布者的所有密钥

时间:2018-12-12 11:24:45

标签: spring project-reactor spring-data-redis

我有以被动方式从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))

工作正常。

为什么第一个代码没有删除所有键?

1 个答案:

答案 0 :(得分:1)

对我来说,这似乎是个错误。 ReactiveRedisTemplate.delete(Publisher)仅认为要删除的第一个返回键,而不考虑后续的键。

我提交了DATAREDIS-913来跟踪问题。