Redis主从复制原理
Redis主从复制原理
使用场景
- 数据冗余。作为数据的热备份
- 故障恢复。主节点有问题,可以切换到从节点服务。
- 负载均衡。 读写分离的。
配置
master:
打开/etc/redis/redis.conf,把“bind 127.0.0.1”改成“bind 0.0.0.0”,绑定多个监听IP
slave:
bind 192.168.1.101(本机IP)
slaveof 192.168.1.100 6379 (映射到主服务器上)
复制原理
主从刚开始连接的时候,进行全量同步。全量同步之后,进行增量同步。如果slave机器宕机之后,重启又会进行一次全量同步。
- 从服务器连接主服务器,发送SYNC命令。
- 主服务收到SYNC命令之后,开始执行BGSAVE命令生成快照。并使用缓冲区记录之后执行的命令。
- 主服务执行完BGSAVE命令后,向所有从服务发送快照文件。
- 从收到快照之后,载入快照。
- 主发完快照后,向从发送缓冲区中写命令。
- 从载入完快照后,执行来自主缓冲区的内容。