首页 > 解决方案 > Redis:原子获取和条件集

问题描述

我想GET在 Redis 中执行一个原子操作,如果返回的值等于某个预期值,我想做一个SET,但我想将所有这些链接在一起作为一个原子操作。(我正在尝试设置一个标志,指示是否有任何进程正在将数据写入磁盘,因为可能只允许一个进程这样做。)

是否可以使用 Redis 完成此任务?

我看过有关MULTI操作的文档,但我还没有看到条件操作 iMULTI操作。其他人可以提供的任何建议将不胜感激!

标签: luaredisconditionalatomic

解决方案


您可以使用Lua 脚本在 redis 服务器本身上执行 GET 和 set 操作。它们是原子的,也允许您添加逻辑。


推荐阅读