首页 > 解决方案 > 相同变量的 Redis 复制

问题描述

假设我有一个在 Master 中经常更改的变量

set foo 1
set foo 5
set foo 4
set foo 8
set foo 4
set foo 10
set foo 7
...

如果网络出现故障,并且执行了更多类似的命令,那么当网络启动时,副本会被所有这些命令淹没,还是只会收到每个不同变量的最后一个?

提前致谢

标签: redisreplicationgeneral-network-error

解决方案


当您使用 Redis 复制时,它允许从 Redis 实例成为主实例的精确副本。根据 Redis 文档,主要有 3 种机制:

  • 主服务器向从服务器发送命令流,以在主服务器端复制数据集。
  • 当(主从之间的)链接中断时,由于网络问题或因为在主或从中检测到超时,然后从重新连接并尝试继续进行部分重新同步:这意味着它将尝试仅获取在断开连接期间部分错过了流。
  • 如果无法进行部分重新同步,则从站将要求进行完全重新同步,这意味着主站需要创建其所有数据的快照,将其发送到从站,然后随着数据集的更改继续发送命令流。

有关更多信息,请参见此处

希望这会找到你。


推荐阅读