13. Redis 主从复制介绍

创建时间:2025-10-26 21:47
长度:961
浏览:0
评论:0

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

器(Slave)。

重点:主节点可读写

I

从节点:只能读

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

为什么要有主从复制

几乎所有运用了Redis的软件中,都不可能只用一台Redis:

1、结构上,单个Redis服务器可能会出现单点故障,并且一台服务器处理所有请求,负载压力较大

2、容量上,单个Redis服务器内存容量有限,就算服务器内存很大也不可能全部用于Redis,一般来说单台Redis服务器内存最大

不超过20G

主从复制的主要作用

1、数据冗余:主从复制实现了数据的热备份,是持久化的一种数据冗余方式

2、故障恢复:主节点一旦出现问题,可以由从节点提供服务,避免出现程序不可用的情况,实现快速故障恢复。

3、负载均衡:在主从复制的基础之上,配合读写分离,主节点提供写服务,由从节点提供读服务,分担服务器负载,尤其是在读

多写少场景下,可以大大提高Redis并发量

4、高可用(集群)基石:主从复制是集群和哨兵模式的基础。


主从复制搭建

    • 主从复制最基本的也需要1主2从
    • 默认情况下,每台Redis服务器都是主节点
    • 一个主节点可以有多个从节点,但是一个从节点只能有一个主节点



在redis里面通过SLAVEOF 命令来配置主机

命令方式是临时的;关机关服务就没了


注意:

1、主机可以写,从机不可以

2、主机如果宕机,重新连接以后,依旧可以成功连接

3、 从机也可以作为主机、但依然不可写(这种就称为链路模式的)



原理总结

1、Slave启动成功连接到Master后会发送一个sync(同步)命令

2、 Master收到命令以后,会启动后台存盘进程,同时收集所有修改命令

3、后台存盘线程执行完毕之后,会将Master整体数据全量复制到slave中,完成第一次同步

   全量复制:将Master中所有数据进行保存传输到Slave中

   增量复制:Master后续新增的修改命令会以此传给Slave,完成同步

   注意:如果有Slave断开,一旦重新连接就会触发全量复制





评论(共0条)