据我现在了解到的情况,RedisTemplate有两种方式可以实现批量删除。
1、借助 pipeline 把要删除的key传过去,一次过执行完。
2、redisTemplate.delete(一个集合,比如Set)。
请问:
1、一般做批量删除的话,用哪种方式呢?
2、这些批量删除的方式,能否做个对比,让人了解它们的好处和坏处?
请大神指教,谢谢~
据我现在了解到的情况,RedisTemplate有两种方式可以实现批量删除。
1、借助 pipeline 把要删除的key传过去,一次过执行完。
2、redisTemplate.delete(一个集合,比如Set)。
请问:
1、一般做批量删除的话,用哪种方式呢?
2、这些批量删除的方式,能否做个对比,让人了解它们的好处和坏处?
请大神指教,谢谢~
8 回答6.4k 阅读
1 回答4.1k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
2 回答3.2k 阅读
2 回答3.9k 阅读
1 回答2.2k 阅读✓ 已解决
3 回答1.6k 阅读✓ 已解决
绝大部分场景下后者就可以,本质就是调用的 Redis 的 DEL 命令,这个命令本来就是支持传多个 Key 的。
要用管道的话反倒弄复杂了。
至于说 DEL 一次删太多 Key 的性能问题我倒真没遇见过,万级的 Key 批量删除算上网络开销也都是毫秒级的。
P.S. 我也是没懂为啥中文网络上那么多信誓旦旦地说 Redis 没提供批量删除 Key 命令的……它只是不能用通配符那种批量删除,又不是不能在给定 Key 的情况下批量删除,结果很多人以讹传讹就变成了不支持批量删除了。