Redis 主从复制

Redis 复制

有关 redis 复制有以下几个概念需要明确:

  1. 完全复制:当从服务器第一次启动同步主服务器或者从服务器断连后,但是发送的 offset 不在主服务器的复制积压缓冲区中,则会进行完全复制。完全复制并不会阻塞主服务器,主服务器发送 FULLRESYNC 告知从服务器执行完全同步,主服务器执行 BGSAVE 命令,后台开启线程生成RDB文件,同时将客户端发送过来的写命令保存到写缓冲区中。RDB文件生成后,将文件发送到从服务器,从服务器执行数据同步,此时从服务器无法接受请求。数据同步后,主服务器将写缓冲区中的内容发送到从服务器。此时主从完成数据同步。
  2. 部分复制:也叫断点续传。从服务器断连后,发送 PSYNC 命令,主服务器发现 offset + 1 在复制积压缓冲区中,此时将积压的写命令发送给从服务器;
  3. 同步:从服务器第一次或者断连后重新连接主服务器,要执行数据同步;
  4. 命令传播:没有断连的情况下,主服务器接受到写命令,执行后,异步发送给从服务器完成数据同步;
  5. 复制积压缓冲区:主服务器将数据复制给从服务器的时候,还会将写命令复制到复制积压缓冲区,用于实现部分重同步 repl-backlog-size ;
  6. 心跳检测:从服务器默认每隔 1 s 向主服务器发送 REPLCONF ACK 。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值