Redis第十七讲 Redis主从架构深入底层了解

Redis主从复制实现数据冗余和高可用,通过读写分离保证数据一致性。主节点接收到写请求,然后同步到从节点。主从复制包括全量和部分复制,部分复制依赖复制积压缓冲区和复制偏移量。主从架构适用于故障恢复、负载均衡,但也存在故障恢复复杂、主库写能力限制等缺点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(master),后者称为从节点(slave);数据的复制是单向的,只能由主节点到从节点。 

        默认情况下,每台Redis服务器都是主节点;且一个主节点可以有多个从节点(或没有从节点),但一个从节点只能有一个主节点。

主从复制作用

  1. 故障恢复:当主节点宕机,其他节点依然可以提供服务;
  2. 负载均衡:在主从复制的基础上,配合读写分离,可以由主节点提供写服务,由从节点提供读服务(即写Redis数据时应用连接主节点,读Redis数据时应用连接从节点),分担服务器负载;尤其是在写少读多的场景下,通过多个从节点分担读负载,可以大大提高Redis服务器的并发量。
  3. 高可用基石:是哨兵和 cluster 实施的基础,是高可用的基石。
  4. 数据冗余:主从复制实现了数据的热备份,是持久化之外的一种数据冗余方式。

Redis主从节点如何保证数据一致性

为了保证副本数据的一致性,主从架构采用了读写分离的方式。

  • 读操作:主、从库都可以执行;
  • 写操作:主库先执行,之后将写操作同步到从库;

Redis读写分离,为了保证对同一份数据进行多次修改造成的数据不一致性,如果为了保证数据一致,Redis 需要加锁,协调多个实例的修改,Redis 自然不会这么干!

Redis主从工作原理

        如果你为master配置了一个slave,不管这个slave是否是第一次连接上Master,它都会发送一个PSYNC命令给master请求复制数据。当slave ping socket连接上Master且通过身份认证(如果从节点中设置了masterauth选项),将会开始进行数据同步阶段。

       master收到PSYNC命令后,会在后台进行数据持久化通过bgsave生成最新的rdb快照文件,持久

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员路同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值