Redis主从复制及其心跳检测实现机制
1、Redis主从工作模式简述
假设Redis中有一个主节点和一个从节点。正常情况下,主节点中进行数据增删改操作,从节点中也会将主节点中的指令执行一遍,实现主从节点的数据同步。而数据同步的关键在于主从节点的两个操作:同步和命令传播
2、同步
Redis的同步操作指的是从节点通过向主节点发送某个同步指令,从而得到主节点最新的数据,使得从节点数据和主节点保持一致。
而不同版本的Redis同步指令不同,同步的方式也不一样。
2.1老版本的Redis(2.8之前)
从节点向主节点发送SYNC指令实现同步。主节点收到从节点的SYNC指令后,执行BGSAVE(全量持久化)生成RDB文件发送给从节点,从节点执行RDB文件将数据同步。这种方式的同步效率非常低。
2.2 新版本的Redis(2.8之后)
从节点向主节点发送PSYNC指令实现同步。PSYNC指令有两种同步模式,完整重同步模式(full resynchronization)和部分重同步模式 (partial resynchronization)。其中完整重同步模式和旧版Redis的SYNC指令相同,而部分重同步模式通过比较主从节点的数据偏移量来确定从节点需要同