假设我有一个在 Master 中经常更改的变量
set foo 1
set foo 5
set foo 4
set foo 8
set foo 4
set foo 10
set foo 7
...
如果网络出现故障,并且执行了更多类似的命令,当网络出现时,副本是否会被所有这些命令淹没,或者它是否只会收到每个不同变量的最后一个命令?
提前致谢
最佳答案
当您使用 Redis 复制时,它允许从 Redis 实例成为主实例的精确副本。根据 Redis 文档,主要有 3 种机制:
- Master 向 slave 发送命令流,以在 master 端复制数据集。
- 当链接(主从之间)断开时,由于网络问题或因为在主从中检测到超时,然后从重新连接并尝试进行部分重新同步:这意味着它将尝试只获取掉线时漏播的部分。
- 如果部分重新同步是不可能的,slave 将要求完全重新同步,这意味着 master 需要创建其所有数据的快照,将其发送给 slave,然后随着数据集的变化继续发送命令流.
有关更多信息,请参阅 here .
希望这会找到你。
关于相同变量的 Redis 复制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54597879/