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