Redis提供了复制功能,可以实现在主数据库(Master)中的数据更新后,自动将更新的数据同步到从数据库(Slave)。一个主数据库可以拥有多个从数据库,而一个从数据库只能拥有一个主数据库。

Redis的主从数据复制原理如下:

 

 步骤说明:

1)一个从数据库在启动后,会向主数据库发送SYNC命令。

2)主数据库在接收到SYNC命令后会开始在后台保存快照(即RDB持久化的过程),并将保存快照期间接收到的命令缓存起来。在该持久化过程中会生成一个.rbd快照文件。

3)在主数据库快照执行完成后,Redis会将快照文件和所有缓存的命令以.rdb快照文件的形式发送给从数据库。

4)从数据库收到主数据库的.rdb快照文件后,载入该快照文件到本地。

5)从数据库执行载入后的.rdb快照文件,将数据写入内存中。

【以上步骤称为复制初始化】

6)在复制初始化结束后,主数据库在每次收到写命令时都会将命令同步给从数据库,从而保证主从数据库的数据一致。

 

在Redis中开启复制功能时,主数据库无需进行任何配置,而需要在从数据库配置文件中加入如下配置:

# slaveof  master_address master_port

slaveof 127.0.0.1 9000

# 如果master有密码,则需要设置masterauth

masterauth=123

【注意:配置完需重启从Redis】

posted on 2022-11-11 15:27  鬼谷玄一  阅读(606)  评论(0编辑  收藏  举报