回答

收藏

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

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

在我的 Redis 数据库中,我有许多prefix:哈希值。
7 F( p. h5 L2 O# q) u- a4 i; e" P有时我想用原子清除它们。如何在不使用某些分布式锁定机制的情况下执行此操作?* m2 H4 k( k* i
                                                               
$ i4 q8 _, D  x: C$ z, J( m    解决方案:                                                               
9 X$ m+ P( V5 a3 y# e* P                                                                在 bash 中执行:  y" ?7 E1 X& U# f7 T
redis-cli KEYS "prefix:*" | xargs redis-cli DEL更新
/ H: K. [) n' o  h+ }7 }. i& y好吧,我明白了。这种方法如何:存储当前的附加增量前缀,并将其添加到您的所有键中。
$ s* V+ `9 \- a" P你有这样的价值观:
' k. G5 N& w8 g' U, m: G; Hprefix_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 获取旧值并清除旧键。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则