redis主备同步原理?
2.8主备同步sync原理:
1.从服务器向主服务器发送SYNC命令
2.主服务器执行BGSAVE命令,生成RDB文件,并使用一个缓冲区记录从bgsave开始的所有写命令
3.主服务器BGSAVE执行完后,讲RDB发送给从服务器,从服务器载入RDB文件,将自己的状态更新至主服务器的BGSAVE时的状态
4.主服务器将缓冲区的写命令发送给从服务器,从服务器执行写命令,讲从服务器更新为主服务器的当前态
2.8及以前,主从断开连接需要重新sync初始化
2.8以后,支持部分重同步(psync)
1.主从断开后,从库发送psync命令
2.向从库返回+continue命令,表示执行部分重同步
3.接受+continue命令,准备执行部分重同步
4.想从服务器发送自断开连接以来的写入命令
5.从库执行写入命令