回答

收藏

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

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

在我的 Redis 数据库中,我有许多prefix:哈希值。& ~# C4 N8 o. w( E
有时我想用原子清除它们。如何在不使用某些分布式锁定机制的情况下执行此操作?- q* |; v9 a! L! P
                                                               
2 b0 {! ]5 T  x) u1 ?    解决方案:                                                                6 U: R5 X7 ~5 U- n
                                                                在 bash 中执行:
0 b& W; r7 {  I7 I; R) [( W% O4 K$ vredis-cli KEYS "prefix:*" | xargs redis-cli DEL更新% [8 L8 N# u# r/ n/ y
好吧,我明白了。这种方法如何:存储当前的附加增量前缀,并将其添加到您的所有键中。
1 g" ?) p4 s. D7 P* ?8 t你有这样的价值观:8 N" U9 N* ?- [/ t
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 获取旧值并清除旧键。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则