Redis学习笔记:复制

本文更新于2021-02-06,使用Redis 6.0.8,操作系统为Deepin 15.11。

复制步骤:

主服务器 从服务器
(等待命令进入) 连接(或者重连接)主服务器,发送SYNC命令
开始执行BGSAVE,并使用缓冲区记录BGSAVE之后执行的所有写命令 根据配置选项来决定是继续使用现有的数据(如果有的话)来处理客户端的命令请求,还是向发送请求的客户端返回错误
BGSAVE执行完毕,向从服务器发送快照文件,并在发送期间继续使用缓冲区记录被执行的写命令 丢弃所有旧数据(如果有的话),开始载入主服务器发来的快照文件
快照文件发送完毕,开始向从服务器发送存储在缓冲区里面的写命令 完成对快照文件的解释操作,像往常一样开始接受命令请求
缓冲区存储的写命令发送完毕,从现在开始,每执行一个写命令,就向从服务器发送相同的写命令 执行主服务器发来的所有存储在缓冲区里面的写命令,并从现在开始,接收并执行主服务器传来的每个写命令
posted @ 2021-02-06 17:02  garvenc  阅读(60)  评论(0编辑  收藏  举报