Redis系列(四):Redis持久化和主从复制原理 (3)

  部分复制是Redis 2.8以后出现的,用于处理在主从复制中因网络闪断等原因造成的数据丢失场景,当slave再次连上master后,如果条件允许,master会补发丢失数据给slave。因为补发的数据远远小于全量数据,可以有效避免全量复制的过高开销。部分复制流程图如下:

Redis系列(四):Redis持久化和主从复制原理

  ① 如果网络抖动(连接断开 connection lost)

  ② master还是会写repl_back_buffer(复制缓冲区)

  ③ slave会继续尝试连接主机

  ④ slave会把自己当前run_id和偏移量传输给master,并且执行pysnc命令同步

  ⑤ slave发送过来的offset在repl_back_buffer中,则master会将缓存中从offset以后的数据一次性同步给slave,否则全量复制

  ⑥ master同步长连接持续把写命令发送给slave,以保证数据的一致

  3、主从搭建

Redis系列(四):Redis持久化和主从复制原理

   其中slave的主要配置如下:

port 6380 pidfile /var/run/redis_6380.pid dir /usr/local/redis-5.0.2/6380 replicaof 192.168.160.146 6379 replica-serve-stale-data yes replica-read-only yes

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zywjpd.html