首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >这样讲Redis 主从复制的工作原理,或许你真的能听懂~

这样讲Redis 主从复制的工作原理,或许你真的能听懂~

作者头像
AI码师
发布于 2022-12-22 02:20:17
发布于 2022-12-22 02:20:17
3470
举报

B站搜索“乐哥聊编程“有本篇文章配套视频‍ https://www.bilibili.com/video/BV1zW4y1j7Rb

主从复制的架构

  • 一主一从
  • 一主多从

主从复制的作用

主从复制的工作原理

  • runid

主节点的runid,从节点第一次请求复制主节点的时候,主节点会将此runid返回

  • offset(偏移量)

当前数据的偏移量,例如执行一条指令后,产生一条数据后,会增大偏移量,从节点请求复制主节点的时候,会带上这个信息,让主节点从这个偏移量之后的数据返回给我。

全量复制

  • 建立连接后,从节点向主节点发送psync命令,请求同步,携带 runid和offset,如果第一次同步,传 ?和-1
  • 主节点收到psync请求后,发现runid为?和offset为-1,则知道从节点希望全量复制,于是将自己的runid和offset返回给从节点
  • 主节点执行bgsave,生成RDB文件,在此期间生成的命令全部放到buffer中
  • 主节点将生成后的rdb文件,传输给从节点
  • 从节点收到rdb文件后,首先清除自己的数据,然后将rdb文件加载到内存
  • 主节点再把缓冲区的命令发给从节点
  • 从节点再把缓冲区的命令加载到内存

增量复制

如果由于网络问题出现抖动或连接断开,则会导致主从复制不同步,所以当网络连接正常时,则主从之间将发生增量复制而不是全量复制。

  • 从节点向主节点发送psync 命令 携带 已保存的runid和offset
  • 主节点判断runid是否和自己的id一致,如果不一致则执行全量同步
  • 主节点判断offset是否在环形缓冲区内,如果不在泽执行全量同步
  • 否则执行增量同步
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-10-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 乐哥聊编程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Redis主从复制原理
Redis Replication是一种 master-slave 模式的复制机制,这种机制使得 slave 节点可以成为与 master 节点完全相同的副本,可以采用一主多从或者级联结构。架构如下:
全栈程序员站长
2022/06/29
1.5K0
Redis主从复制原理
Redis主从复制原理和复制方式分析
在之前的Redis持久化文章【看看Redis持久化RDB和AOF是怎么实现的!】, 通过学习我们知道通过持久化技术让服务器重启的情况下尽可能少或者不会丢失数据。
小许code
2023/12/11
4120
Redis主从复制原理和复制方式分析
一文搞定 Redis 复制(全会的举个手看看)
Step 2:从节点只是保存了 slaveof 命令中主节点的信息,并没有立即发起复制。
良月柒
2019/06/14
4390
一文搞定 Redis 复制(全会的举个手看看)
深入Redis 主从复制原理
1、从节点执行 slaveof 命令 2、从节点只是保存了 slaveof 命令中主节点的信息,并没有立即发起复制 3、从节点内部的定时任务发现有主节点的信息,开始使用 socket 连接主节点 4、连接建立成功后,发送 ping 命令,希望得到 pong 命令响应,否则会进行重连 5、如果主节点设置了权限,那么就需要进行权限验证;如果验证失败,复制终止。 6、权限验证通过后,进行数据同步,这是耗时最长的操作,主节点将把所有的数据全部发送给从节点。 7、当主节点把当前的数据同步给从节点后,便完成了复制的建立流程。接下来,主节点就会持续的把写命令发送给从节点,保证主从数据一致性。
Bug开发工程师
2019/05/05
9230
深入Redis 主从复制原理
Redis主从复制原理(面试说这么多够不够?)
主从复制是Redis分布式的基础,Redis的高可用离开了主从复制将无从进行,更是哨兵和集群的基石,非常有必要了解,另外主从复制原理也是面试的常考点,所以我查阅了大量资料,尽可能做到有理有据,图文并茂,以此抛砖引玉,把主从复制原理讲明说透。
天罡gg
2022/12/02
4880
Redis主从复制原理(面试说这么多够不够?)
Redis从入门到放弃(7):主从复制
主从复制是Redis的一项重要特性,用于将一个Redis服务器(Master主节点)的数据复制到其他Redis服务器(Slave从节点),以实现数据的高可用性和读写分离。数据的复制是单向的,只能由主节点到从节点。
夕阳也是醉了
2023/10/16
2720
Redis从入门到放弃(7):主从复制
Redis主从复制原理以及常见问题
主从复制就是现在有俩台redis服务器,把一台redis的数据同步到另一台redis数据库上。前者称之为主节点(master),后者为从节点(slave)。数据是只能master往slave同步单向。
全栈程序员站长
2022/07/23
9910
Redis主从复制原理以及常见问题
镜 | 5 个维度深度剖析「主从架构」原理
玩过王者荣耀的同学,应该都知道里面有个英雄叫做镜,她释放技能时,会出现一个长相一模一样的分身,而且动作也是一样的。
悟空聊架构
2022/05/13
4310
镜 | 5 个维度深度剖析「主从架构」原理
redis灵魂拷问:聊一聊主从复制缓冲区
在我之前《redis灵魂拷问:怎样搭建一个哨兵主从集群》搭建的集群主从哨兵集群,有1个主节点和2个从节点环境如下表:
jinjunzhu
2020/11/04
1.4K0
redis灵魂拷问:聊一聊主从复制缓冲区
Redis总结集群方式之主从复制
最近由于小编颈椎病犯了,所以最近停更了文章,今天下午刚收到几千里地老父亲寄来的艾灸贴,晚上贴上之后,伴随着火辣辣的感觉开始创作现在这篇文章;若大家get到了东西,请爱心三连。 废话不再多言,下面我们进入正题。
沁溪源
2020/09/02
3900
Redis 高可用篇:你管这叫主从架构数据同步原理?
在《Redis 核心篇:唯快不破的秘密》中,「码哥」揭秘了 Redis 五大数据类型底层的数据结构、IO 模型、线程模型、渐进式 rehash 掌握了 Redis 快的本质原因。
码哥字节
2021/03/16
7610
Redis源码阅读(五)主从复制与哨兵机制
Redis 单节点存在单点故障问题,为了解决单点问题,一般都需要对 Redis 配置从节点,然后使用哨兵来监听主节点的存活状态,如果主节点挂掉,从节点能继续提供缓存功能。
星沉
2022/01/28
6840
【Redis 09】主从复制
为了避免单点Redis服务器故障,准备多台服务器,互相连通,将数据复制多个副本保存在不同的服务器上,连接在一起,并保证数据是同步的,即使有其中一台服务器宕机,其他服务器依然可以继续提供服务,实现Redis的高可用,同时实现数据冗余备份。
JuneBao
2022/10/26
2040
Redis:主从复制
Redis主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(master),后者称为从节点(slave);数据的复制是单向的,只能由主节点到从节点。
灰子学技术
2020/10/10
5110
Redis:主从复制
路上,小胖问我:Redis 主从复制原理是怎样的?
我负责我司的报表系统,小胖是我小弟。随着业务量的增加,单实例顶不住,我就搭建了多个 Redis 实例,实现主从模式。
JavaFish
2021/04/30
4380
路上,小胖问我:Redis 主从复制原理是怎样的?
Redis主从复制的原理
在Redis集群中,让若干个Redis服务器去复制另一个Redis服务器,我们定义被复制的服务器为主服务器(master),而对主服务器进行复制的服务器则被称为从服务器(slave),这种模式叫做主从复制模式。
全菜工程师小辉
2019/08/16
4990
【云原生进阶之PaaS中间件】第一章Redis-2.3.1主从复制部署模式
        Redis在日常部署的时候,可以有多种部署模式:单机、主从、哨兵、集群(分区分片),因此本文将对上面这四种模式进行详细的讲解,特别是集群模式将进行最细致的讲解(现行普遍使用的方式)。
江中散人_Jun
2023/10/16
3800
【云原生进阶之PaaS中间件】第一章Redis-2.3.1主从复制部署模式
Redis 主从复制与哨兵
Redis 可以使用从属服务器来实现读写分离提高吞吐量或在主服务器故障时接替主服务器以提高可用性。
星哥玩云
2022/08/18
1940
跟随杠精的视角一起来了解Redis的主从复制
虽然说单机的Redis性能很好,也有完备的持久化机制,那如果你的业务体量真的很大,超过了单机能够承载的上限了怎么办?不做任何处理的话Redis挂了怎么办?带着这个问题开始我们今天的主题-「Redis高可用」,由于篇幅原因,本章就只聊聊主从复制。
SH的全栈笔记
2022/08/17
3060
跟随杠精的视角一起来了解Redis的主从复制
Redis 复制过程详解
Redis 的复制功能分为同步( sync )和命令传播( command propagate )两个步骤:
程序员历小冰
2019/09/22
4990
Redis 复制过程详解
相关推荐
Redis主从复制原理
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档