程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何使用Redis以原子方式删除与模式匹配的键大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决如何使用redis以原子方式删除与模式匹配的键?

开发过程中遇到如何使用redis以原子方式删除与模式匹配的键的问题如何解决?下面主要结合日常开发的经验,给出你关于如何使用redis以原子方式删除与模式匹配的键的解决方法建议,希望对你解决如何使用redis以原子方式删除与模式匹配的键有所启发或帮助;

在 bash 中执行:

redis-cli KEYS "prefix:*" | xargs redis-cli DEL

好,我明白了。这种方式怎么样:存储当前的附加增量前缀并将其添加到您的所有键中。例如:

你有这样的价值观:

prefix_prefix_actuall = 2
prefix:2:1 = 4
prefix:2:2 = 10

当您需要清除数据时,首先更改 prefix_actuall(例如设置 prefix_prefix_actuall = 3),因此您的应用程序会将新数据写入键 prefix:3:1 和 prefix:3:2。然后您可以安全地从 prefix:2:1 和 prefix:2:2 中获取旧值并清除旧键。

redis 2.6.0 开始,您可以运行以原子方式执行的 lua 脚本。我从来没有写过,但我认为它看起来像这样

EVAL "return redis.call('del', unpack(redis.call('keys', ARGV[1])))" 0 prefix:[YOUR_PREFIX e.g delete_me_*]

请参阅EVAL 文档。

解决方法

在我的 redis 数据库中,我有许多prefix:<numeric_id>哈希值。

有时我想以原子方式清除它们。如何在不使用某些分布式锁定机制的情况下执行此操作?

大佬总结

以上是大佬教程为你收集整理的如何使用Redis以原子方式删除与模式匹配的键全部内容,希望文章能够帮你解决如何使用Redis以原子方式删除与模式匹配的键所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。