复制结束后,Redis slave如何保持同步?

时间:2014-10-07 15:19:08

标签: redis

Redis的replication在从属设备与主设备连接时启动。但是在初始复制结束后,奴隶如何与主人保持同步?我找不到描述这种机制的文档的任何部分。特别是,如何测量主设备和从设备之间的延迟?

2 个答案:

答案 0 :(得分:2)

初始复制后,主机将更改写入内部缓冲区并将其发送给从机。来自replication页面:

  

然后,主设备将向从设备发送所有缓冲命令。这是   作为命令流完成,并且与Redis的格式相同   协议本身。

您可以在GitHub上查看full replication source code(这指向Redis 3.0版),了解详细信息。

就延迟而言,有page dedicated to latency troubleshootingone dedicated to latency monitoring。这两个页面包含大量背景信息和技术来排除/测量Redis延迟。一个简单的起点是将redis-cli --latency -h 'host' -p 'port'从从站运行到主站和/或从主站运行到从站。

答案 1 :(得分:1)

我相信你可以通过在奴隶身上发出INFO replication并检查slave_repl_offset的价值来找到答案。