面试题答案
一键面试- 建立连接:从节点向主节点发送
SYNC
命令(Redis 2.8 之前使用SYNC
,之后使用PSYNC
命令但初次同步仍类似SYNC
流程),主从节点建立起连接。 - 主节点执行 BGSAVE:主节点收到同步请求后,执行
BGSAVE
命令,在后台生成 RDB 文件。此过程中,主节点会继续处理客户端请求,并将新的写命令缓存起来。 - 发送 RDB 文件:BGSAVE 完成后,主节点将生成的 RDB 文件发送给从节点。从节点接收并加载 RDB 文件,将数据恢复到自身数据库中。
- 发送缓存命令:主节点将 BGSAVE 期间缓存的写命令发送给从节点,从节点按顺序执行这些命令,从而保证主从数据的一致性。完成这些步骤后,主从节点初次同步完成,进入正常的复制流程。