Redis主从同步机制

一、主从同步基础概念
多台数据服务器,只有一台主服务器,主服务器只负责写入数据,不负责让外部程序读取数据;
有多台数据从服务器,从服务器不写入数据,只负责同步主服务器的数据,并让外部程序读取数据;
主服务器在写入数据后,即刻将写入命令发送给从服务器,保证主从数据同步;
应用程序可以随机读取任何一台从服务器的数据,分摊压力;
从服务器不能工作时,对应用没有影响;主服务器不能工作时,选举一台从服务器为新的主服务器。
二、主从同步配置
一台主机,多台从机
主机:dir和dbfilename选项
从机:slaveof选项 slaveof server port
备注:配置前,先将redis.conf中的bind:127.0.0.1改为bind 0.0.0.0
三、主从同步过程
1、主从同步过程图:
Redis主从同步机制_第1张图片
2、详细过程:
(1)首先开启主服务器,从服务器通过命令或者重启配置可以同步到主服务器。
(2)从服务器启动时,读取同步配置,根据配置决定是否使用当前数据响应给客户端,然后发送SYNC命令。主服务器收到同步命令时执行bdsave命令备份数据,但主服务器并不拒绝客户端的读写,而是将来自客户端的写命令写入缓冲区。从服务器未收到主服务器备份的快照文件时,会根据配置决定使用现有数据响应客户端或者拒绝。
(3)bgsave命令执行完成后,开始向从服务器发送备份文件,此时从服务器会丢弃现有数据,开始载入发送的快照文件。
(4)主服务器发送完备份文件后,从服务器就会执行这些写命令。此时就会把bgsave命令执行后的写命令也发送给从服务器,从你服务器完成备份解析,开始像往常一样,接收命令,等待命令写入。
(5)缓存区内的写命令发送完成后,当主服务器执行一条写命令,就会向从服务器发送同步写入命令,这样主服务器和从服务器就保持了同步。此时从服务器完成主服务器发送的写入命令后,就开始等待主服务器的命令。
3、多从机同步机制
Redis主从同步机制_第2张图片

你可能感兴趣的:(Redis主从同步机制)