回答

收藏

如何使用Redis以原子方式删除与模式匹配的键

技术问答 技术问答 262 人阅读 | 0 人回复 | 2023-09-11

在我的 Redis 数据库中,我有许多prefix:哈希值。0 ?4 X" t! x2 x6 B- K" q. i
有时我想用原子清除它们。如何在不使用某些分布式锁定机制的情况下执行此操作?& [0 A* I& a0 B  W/ r, j
                                                               
/ H; {. n0 i7 z; Q2 _1 m    解决方案:                                                               
: m7 _: ~/ e1 W; y                                                                在 bash 中执行:
* e* d) h8 M5 p7 ]redis-cli KEYS "prefix:*" | xargs redis-cli DEL更新$ v% g( S# J% S% H
好吧,我明白了。这种方法如何:存储当前的附加增量前缀,并将其添加到您的所有键中。: d8 D9 e! T4 A
你有这样的价值观:' |/ U7 x) Y+ `0 [3 `2 e. I6 N
prefix_prefix_actuall = 2prefix:2:1 = 4prefix:2:2 = 10需要清除数据时,先更改 prefix_actuall(如设置 prefix_prefix_actuall = 3)因此,您的应用程序将新数据写入键 prefix:3:1 和 prefix:3:2。然后你可以安全地从 prefix:2:1 和 prefix:2:2 获取旧值并清除旧键。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则