Redis设计与实现之复制.docxVIP

  • 0
  • 0
  • 约2.83千字
  • 约 7页
  • 2022-03-18 发布于浙江
  • 举报
? ? Redis设计与实现之复制 ? ? Redis中用户通过执行slaveof命令或者设置slaveof选项,让一个服务器去复制另一个服务器。被复制的称为主服务器(master),复制的称为从服务器(slave)。 1,旧版复制功能及其缺点 redis的复制功能,分为同步和命令传播两个操作: 同步:将从服务器的状态更新至主服务器目前所处的状态 命令传播:主服务器对数据库状态进行修改导致主从服务器状态不一致时,让主从服务器数据库恢复至统一状态。 1,1同步 当客户端向服务器发送slaveof命令,要求从服务器复制主服务器时,从服务器要先执行同步操作。 同步操作是从服务器向主服务器发送sync命令完成,执行步骤: 1)从服务器向主服务器发送sync命令 2)收到sync的主服务器开始执行bgsave,在后台生成一个RDB文件,并使用一个缓冲区记录当前开始服务器执行的所有写命令 3)bgsave执行完毕之后,主服务器将bgsave命令生成的RDB文件发送给从服务器。从服务器使用RDB文件,更新数据库到执行bgsave时的状态 4)主服务器将记录在缓冲区中的所有写命令发送给从服务器,从服务器执行这些命令,将数据库更新到主服务器当前的状态 1,2命令传播 同步操作完成之后,主从服务器达到的数据库一致状态并不是一成不变的。当主服务器再执行写命令,就会再次导致主从不一致

文档评论(0)

1亿VIP精品文档

相关文档