复制结束后,Redis 从服务器如何保持同步?

usu*_* me 5 redis

Redis 的复制从从服务器连接到主服务器时开始。但是在初始复制结束后,slave如何持续与master保持同步呢?我找不到描述此机制的文档的任何部分。特别是,如何测量主从之间的滞后?

hun*_*nch 3

初始复制后,主服务器将更改写入内部缓冲区并将其发送到从服务器。从复制页面:

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

您可以在 GitHub 上查看完整的复制源代码(指向 Redis 3.0 版)以获取详细信息。

就延迟而言,有一个专门用于延迟故障排除的页面一个专门用于延迟监控的页面。这两页包含大量的背景信息和技术来排除故障/测量 Redis 延迟。一个简单的起点是从redis-cli --latency -h 'host' -p 'port'从站运行到主站和/或从主站运行到从站。