setnx是否总是在sentinel系统的redis master上执行?

ylamdve6  于 2021-06-09  发布在  Redis
关注(0)|答案(1)|浏览(429)

我想问问
如果setnx命令(包括nx测试和set)保证在“redis sentinel系统”的上下文中在redis主机上执行?
如果在“redis sentinel系统”的背景下保证它是原子的呢?
在阅读文档后,我的理解是肯定的,因为:
ad.1只有主机可以接受写操作,因为setnx有一个set/write组件,所以它必须转到主机(因为所有写操作都通过主机)。
ad.2由于集合将在主设备上执行,因此仅在主设备上检查nx部分才有意义(从来没有查询过从属设备),否则将不必要地耗费时间,并可能破坏原子性。
有人能百分之百肯定地证实吗?也许能给我指一些文件来澄清我的疑虑。提前谢谢!

14ifxucb

14ifxucb1#

我可以用99.97(3 sigmas)的确定性来确认上述情况。
ad.1只有主机可以接受写操作,因为setnx有一个set/write组件,所以它必须转到主机(因为所有写操作都通过主机)。
正确,不包括故意启用写入副本并连接到副本的情况。
ad.2由于集合将在主设备上执行,因此仅在主设备上检查nx部分才有意义(从来没有查询过从属设备),否则将不必要地耗费时间,并可能破坏原子性。
是的。

相关问题