主从同步
很多企业都没有使用到 Redis 的集群,但是至少都做了主从。有了主从,当 master 挂 掉的时候,运维让从库过来接管,服务就可以继续,否则 master 需要经过数据恢复和重启的过程,这就可能会拖很长的时间,影响线上业务的持续服务。
Redis 通过主从同步功能实现主节点的多个副本。从节点可灵活地通过 slaveof 命令建立或断开同步流程。
如在副本节点127.0.0.1:666服务器上执行如下命令,
SLAVEOF 127.0.0.6379
即为将127.0.0.6379设为自己的主节点(也可以通过在配置文件中增加replicaof 192.168.1.1 6379配置实现)
主从同步的过程:
主从同步有两个步骤:
-
同步:将从服务器的数据库状态更新成主服务器当前的数据库状态。从服务器对主服务的同步操作,需要通过 sync 命令来实现,以下是 sync 命令的执行步骤
- 从服务器向主服务器发送 sync 命令
- 收到 sync 命令后,主服务器执行 bgsave 命令,用来生成 rdb 文件,并在一个缓冲区中记录从现在开始执行的写命令。
- bgsave 执行完成后,将生成的 rdb 文件发送给从服务器,用来给从服务器更新数据
- 主服务器再将缓冲区记录的写命令发送给从服务器,