Redis主从复制

主机:以写为主
从机:以读为主

一主二从
数据的复制是单向的,只能由主节点到从节点
默认情况下,每台Redis服务器都是主节点
(一个主节点可以有多个从节点,但一个从节点,只能有一个主节点)
单台Redis最大使用内存不应该超过20G

info replication:查看当前库的信息

配置集群

  1. 端口
  2. pid名字
  3. log文名字
  4. rdb文件名字

一般情况下只用配置从机就可以
slaveof ip 端口号:认哪个当主机

真实的主从配置:应该在配置文件中配置,这样才是永久的,如果使用命令那么只是暂时的

配置文件中
replication
relicaof
masterauth <master -password>

细节:

  • 主机可以写,从机只能读
  • 主机中所有信息和数据都会自动被从机保存
    (如果主机崩了,从节点还是会存在)
  • 主机断开连接,从机依旧连接到主机的,但是没有写操作,这个时候,主机如果回来了,从机依旧可以直接获取主机写的信息
  • 从机如果断开连接,如果没有将主机配置到配置文件中,那么会自动变为主机 (只要变为从机,立刻会从主机中得到值)

复制原理:

  1. Slave启动成功连接到master后会发送一个sync命令;

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

  3. 全量复制:slave服务在数据库文件数据后,将其存盘并加载到内存中;

  4. 增量复制:Master继续将新的所有收集到的修改命令依次传给slave,完成同步;

  5. 但是只要是重新连接master,一次完全同步(全量复制)将被自动执行。我们的数据一定可以在从机中看到

主从模式二

如果主节点断开,没有哨兵模式的话,需要手动配置一个主节点

Slaveof no one:主节点断开,使用这个命令把自己变成主机,其他的节点就可以手动连接到这个最新的主节点,如果这个时候主节点修复了,这时候就需要重新连接
posted @ 2021-12-12 15:04  一刹流云散  阅读(32)  评论(0编辑  收藏  举报