【发布时间】:2015-08-05 16:45:35
【问题描述】:
当使用单个 redis 实例时,我可以确定 MULTI 中的命令将作为单个原子操作处理。
redis在集群模式下运行会发生什么?
我能确定从站不会得到 MULTI 的中间结果,而只会得到作为 MULTI(事务)发送的全部/一个命令吗?
添加:MULTI 中的所有命令都在同一插槽和键上运行,并带有 {tagName} 标记
谢谢!
【问题讨论】:
当使用单个 redis 实例时,我可以确定 MULTI 中的命令将作为单个原子操作处理。
redis在集群模式下运行会发生什么?
我能确定从站不会得到 MULTI 的中间结果,而只会得到作为 MULTI(事务)发送的全部/一个命令吗?
添加:MULTI 中的所有命令都在同一插槽和键上运行,并带有 {tagName} 标记
谢谢!
【问题讨论】:
Redis 在主从之间的复制旨在兑现MULTI 的保证,所以是的,您可以确定。换句话说,slave 获得的复制流是由 master 执行的写操作构建的。这些是按顺序发送的,并且由于MULTI 保证了主机的原子性,因此同样适用于从机。
【讨论】: