Redis主从复制是
Redis
内置的⼀种数据冗余和备份⽅式,同时也是分发读查询负载的⼀种⽅法。通过主从复制,可以有多个从服务器(Slave
)复制⼀个主服务器(Master
)的数据。在这个系统中,数据的复制是单向的,只能由主服务器(Master
)到从服务器(Slave

重点:主节点可读写 ;从节点只能读

主从复制,读写分离!⼏乎百分之
80
情况下都是读的操作,所以多从节点才能减缓服务器压⼒。

为什么要有主从复制

  • 结构上,单个Redis服务器可能会出现单点故障,并且⼀台服务器处理所有请求,负载压⼒较⼤
  • 容量上,单个Redis服务器内存容量有限,就算服务器内存很⼤也不可能全部⽤于Redis,⼀般来说单台Redis服务器内存最⼤不超过20G

主从复制的主要作用

  • 数据冗余:主从复制实现了数据的热备份,是持久化的⼀种数据冗余⽅式
  • 故障恢复:主节点⼀旦出现问题,可以由从节点提供服务,避免出现程序不可⽤的情况,实现快速故障恢复。
  • 负载均衡:在主从复制的基础之上,配合读写分离,主节点提供写服务,由从节点提供读服务,分担服务器负载,尤其是在读多写少场景下,可以⼤⼤提⾼Redis并发量
  • ⾼可⽤(集群)基⽯:主从复制是集群和哨兵模式的基础。

主从模型

  • 主从复制最基本的也需要12一般有1主2从模型和链路模型
  • 默认情况下,每台Redis服务器都是主节点,可通过命令和配置文件修改为从节点

命令:SLAVEOF 127.0.0.1 6379 # ip地址 端⼝号

命令的方式是临时的,每次重启都需要指定,配置文件是永久的

  • ⼀个主节点可以有多个从节点,但是⼀个从节点只能有⼀个主节点

主从数据同步原理

  • Slave启动成功连接到Master后会发送⼀个sync(同步)命令
  • Master收到命令以后,会启动后台存盘进程,同时收集所有修改命令
  • 后台存盘线程执⾏完毕之后,会将Master整体数据全量复制slave中,完成第⼀次同步
  • 全量复制:将Master中所有数据进⾏保存传输到Slave
  • 增量复制:Master后续新增的修改命令会以此传给Slave,完成同步
  • 注意:如果有Slave断开,⼀旦重新连接就会触发全量复制
本站无任何商业行为
个人在线分享-虚灵IT资料分享 » Redis的主从复制
E-->