redis主从原理
redis主从原理,master第一次将rdb文件给slave后,之后master接收到的每一条指令,是如何传输到slave的,每次都是只要master的rdb文件增加一条指令,就会将此rdb文件全量的同步给salve吗?
96
收起
正在回答 回答被采纳积分+1
2回答
快乐撸猫少年
2020-04-22 11:11:39
主从第一次建立连接后,会触发全量复制。master节点会执行bgsave命令基于当前内存快照保存RDB文件到master节点本地,而不是用之前的生成的RDB文件。然后master节点就会把RDB文件通过网络传输发送给slave节点。由于这个时候master节点还会响应写命令,所以在这个传输期间会把写命令数据保存到积压缓冲区里面。当slave节点加载完成RDB文件后,master节点再把缓冲区的数据发送给从节点,保证主从节点数据一致性。slave节点完成RDB文件加载后,master都是通过缓存区内把写命令数据发给slave节点,而不是再次通过rdb文件。
Java架构师讲师团
2020-04-13 10:55:13
在第一次同步完成以后,主从其实他们的数据都是一致的,如果这个时候你做了其他的写操作,比如更新或删除或新增了一个key,那么这个命令在master执行完以后,需要同步给slave的,当slave也执行完以后,那么主从再次回到一致的状态
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星