hooyantsing's Blog

32_主从复制之复制原理

字数统计: 483阅读时长: 1 min
2020/08/19

32 主从复制之复制原理

Redis最新超详细版教程通俗易懂

接上节。

默认情况下,三台启动的Redis服务器都是主机(Master)。

认老大,去 从机 上配置 谁是老大。

通过命令配置从机,只是暂时的,服务器重启就失效了。永久配置请修改配置文件

在从机上执行命令:

SLAVEOF 设定谁是主机。

参数:IP地址 端口号

1
SLAVEOF 127.0.0.1 6379

f72a71fca24227c526e6dd73c90594a4.png

当从机连上主机后,去主机上查看:

本主机已经存在一个从机了。7cb5ef45595d3d412d94824ce29136d7.png

真实的生产环境应该在配置文件里设置,这样的话是永久的

redis.conf

22b8533aed1c2bb01369756a898f27c5.png

细节

主机可以写,从机不能写只能读。主机中的所有信息,都会自动被从机保存。

主机写:

7192b468c62819c5022aa147b26a8b37.png

从机写:将会报错。

88221f65f814d5f0ec7db9c62be69285.png

测试:

  1. 主机断开连接,从机依旧连接到主机,但是没有写操作,这个时候,主机如果回来了,从机依旧可以直接获取到主机写的信息。
  2. 从机如果是使用命令行,来配置的主从,这个时候如果重启了,就会变回主机。只要变为从机,立马就会从主机中获取值。

    复制原理

Slave 启动成功连接到 master 后会发送一个sync同步命令

Master 接到命令,启动后台存盘进程,同时收集所有接收到的用于修改数据集命令,在后台进程执行完毕后,master将传送整个数据到slave,并完成一次完全同步。

  • 全量复制:slave服务在接收到数据库文件数据后,将其存盘并加载到内存中。
  • 增量复制:Master继续将新的所有收集到的修改命令依次传给slave,完成同步。

但是只要是重新连接master,一次完全同步(全量复制)将被自动执行。

CATALOG
  1. 1. 32 主从复制之复制原理