gpt4 book ai didi

redis - SETNX 真的是原子的吗?

转载 作者:IT王子 更新时间:2023-10-29 06:08:53 30 4
gpt4 key购买 nike

Redis 有 SETNX命令。

我阅读了文档。但是,它没有明确说明它是否是原子的。

我读到不建议用于分布式锁。但是,我的情况稍微简单一些。我只需要确保先来的人(第一个调用者)设置值,第二个调用者收到错误(SETNX 将返回 0)。

那么,问题是,它真的是原子的吗?

最佳答案

是的,SETNX 是原子的,无论调用者有多少,它都会按照您的要求执行。

各个 Redis 命令基本上都是原子的,因为 Redis 是单线程的。因此,文档不会费心为每个命令指定它。 (也许最直接的引用来自 FAQ 的第一行:“Redis 是键值数据库中的一条不同的进化路径,其中值可以包含更复杂的数据类型,并在这些数据类型上定义原子操作。”)

当涉及到设置和释放锁时,您不再处理单个命令,所以这就是为什么还有其他考虑因素。但是 SETNX 命令本身是原子的。

关于redis - SETNX 真的是原子的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48716438/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com