目录
一、前言
在 Redis中,用户可以通过执行 SLAVEOF命令或者设置slaveof选项,让一个服务器去复制另一个服务器,我们称呼被复制的服务器为主服务器,而对主服务器进行复制的服务器则被称为从服务器,如下图所示:
进行复制中的主从服务器双方的数据库将保存相同的数据,概念上将这种现象称作“数据库状态一致”,或者简称“一致”。
二、旧版复制功能的实现
Redis的旧版复制功能分为同步和命令传播两个操作
- 同步操作用于将从服务器的数据库状态更新至主服务器当前所处的数据库状态
- 命令传播操作则用于在主服务器的数据库状态被修改,导致主从服务器的数据库状态出现不一致时,让主从服务器的数据库重新回到一致状态。
(1)同步
当客户端向从服务器发送 SLAVEOF命令,要求从服务器复制主服务器时,从服务器首先需要执行同步操作,也即是,