[Redis]——主从同步原理(全量同步、增量同步)

news2024/9/22 23:22:46

目录

Redis集群:

主从同步原理:

replid和offset:

全量同步和增量同步:

repl_baklog文件:

主从集群的优化:


Redis集群:

      部署多台Redis我们称之为Redis集群,他有一个主节点(负责写操作),多个从节点(负责读操作),它有高可用性、可扩展性、性能提升、自动分片以及无中心架构等优势。

如果想让A成为B的从节点,使用命令

我们在从节点使用slaveof masterIp masterport 或者 replicaof masterIp masterport

主从同步原理:

  • 第一阶段:判断replid是否相同,如果不同,那么代表是第一次建立连接,这是做的操作是修改从节点的replid。
  • 第二阶段:主节点执行bgsave命令,然后将RDB文件发送给从节点,在记录RDB和发送文件的同时,主节点所作的写操作会记录到一个日志文件中repl_baklog。
  • 第三阶段:发送repl_baklog命令,从节点同步并执行里面的命令。

replid和offset:

replid:用于判断两者是否是第一次连接

offset:是偏移量,主节点每做一次写操作,偏移量会+1,然后从节点每做一次增量同步操作,就是执行repl_baklog命令,offset也会跟着改变,所以当主机点和从节点的offset不同时,就会做主从同步。

全量同步和增量同步:

全量同步(也就是第一次同步)流程:

        slave建立连接判断replid是否相同 -> 不同拒绝增量同步,并修改replid/相同进行增量同步 ->master节点做bgsave生成RDB文件发送给从节点 -> 从节点做全量同步 -> master做bgsave期间的命令记录在repl_baklog中,并持续将该文件中的命令发送给从节点 -> 从节点执行log中命令(offset起作用了)保证主从一致。

 增量同步:

        增量同步是从节点更新repl_baklog文件中offset偏移量之后的那些操作。

repl_baklog文件:

        repl_baklog文件可以理解为一个闭环的数组,当master做写操作时,主节点的offset会增加,当文件写满了时,会从头开始,覆盖旧数据,所以当从节点宕机了,主节点一直在写数据,导致转了一圈到了从节点的offset的地方了,那么就会触发全量同步

主从集群的优化:

  • 从RDB角度->

在master中配置repl-diskless-sync yes启用无磁盘复制,直接通过网络传输到从节点。

Redis单节点内存占用不要太大,减少RDB导致的过多磁盘IO。

  • 从增量同步角度

适当增大repl_baklog文件的大小,发现slave宕机尽快实现故障恢复

限制一个master上的slave节点数量,如果slave数量太多,建议采用主-从-从链式结构。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1518507.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

List(CS61B学习记录)

问题引入 上图中,赋给b海象的weight会改变a海象的weight,但x的赋值又不会改变y的赋值 Bits 要解释上图的问题,我们应该从Java的底层入手 相同的二进制编码,却因为数据类型不同,输出不同的值 变量的声明 基本类型…

【数据结构和算法初阶(C语言)】栈的概念和实现(后进先出---后来者居上的神奇线性结构带来的惊喜体验)

目录 1.栈 1.1栈的概念及结构 2.栈的实现 3.栈结构对数据的处理方式 3.1对栈进行初始化 3.2 从栈顶添加元素 3.3 打印栈元素 3.4移除栈顶元素 3.5获取栈顶元素 3.6获取栈中的有效个数 3.7 判断链表是否为空 3.9 销毁栈空间 4.结语及整个源码 1.栈 1.1栈的概念及结构 栈&am…

电力运维物联网平台

我们构建软硬件结合的生态系统,打造电力设备9物联平台,实现软件、硬件、平台、云数据一体化。 在硬件领域通过自主研发推出了一系列电力领域的硬件设备,包括:智能电力测控终端、智能电力采集终端等产品。在软件领域,我们搭…

韩国大带宽服务器的数据中心位置

很多用户会选择韩国大宽带服务器,那么韩国大带宽服务器的数据中心位置在哪,rak小编为您整理发布韩国大带宽服务器的数据中心位置。 韩国大带宽服务器的数据中心通常位于**首尔及其周边地区**。 韩国因其地理位置的优势,拥有丰富的网络带宽资源…

【智能算法】白鲨算法(AVOA)原理及实现

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.代码实现4.参考文献 1.背景 2022年,Braik 等人受到白鲨捕食行为启发,提出了非洲秃鹫优化算法(White Shark Optimizer, WSO)。 2.算法原理 2.1算法思想 海洋中白鲨拥有敏锐的感知、听觉和嗅觉&#xf…

【竞技宝】LOL:sheer对位压制369 JDG鏖战三局力克TES

北京时间2024年3月15日,英雄联盟LPL2024春季常规赛继续进行,昨日共进行三场比赛,第三场比赛由TES对阵JDG。本场比赛前两局双方战至1-1平,决胜局JDG前期就打出完美节奏,中期两次团灭TES后轻松取胜,最终JDG鏖战三局击败TES。以下是本场比赛的详细战报。 第一局: TES:鳄鱼、盲僧、…

九千元家用投影仪怎么样:当贝X5 Ultra万元内天花板配置

投影仪市场正在最贱扩大,越来越的投影品牌纷纷加入市场,一方面可以促成市场的发展,但是宁一方面,市场的乱象也在不断扩大。对于数码新手来说选择一款适合的投影仪变成了一件难事,太多的品牌和产品不知道该如何选择&…

L1-5 猜帽子游戏

宝宝们在一起玩一个猜帽子游戏。每人头上被扣了一顶帽子,有的是黑色的,有的是黄色的。每个人可以看到别人头上的帽子,但是看不到自己的。游戏开始后,每个人可以猜自己头上的帽子是什么颜色,或者可以弃权不猜。如果没有…

非常有用的Python 20个单行代码

有用的 Python 单行代码片段,只需一行代码即可解决特定编码问题! 在本文中,云朵君将分享20 个 Python 一行代码,你可以在 30 秒或更短的时间内轻松学习它们。这种单行代码将节省你的时间,并使你的代码看起来更干净且易…

数码管动态扫描显示

摸鱼记录 Day_16 (゚O゚) review 前边已经学习了: 串口接收:Vivado 串口接收优化-CSDN博客 1. 今日摸鱼任务 串口接收数据 并用数码管显示 (゚O゚) 小梅哥视频: 17A 数码管段码显示与动态扫…

06. Redis架构-哨兵

简介 什么是哨兵 Redis的主从模式下,主节点一旦发生故障便不能提供服务,需要人工干预。手动将从节点晋升为主节点,同时还需要修改客户端配置。 Sentinel(哨兵)架构解决了Redis主从人工干预的问题。 Redis Sentinel是…

《鸟哥的Linux私房菜》第6章——总结与习题参考答案

目录 一、 简介 二、一些新了解的指令 1.touch- 修改文件时间或创建新文件 2.umask-新建文件/目录的默认权限 3.文件隐藏属性 4.文件特殊权限 5.file-观察文件类型 三、简答题部分 一、 简介 本章介绍了一些常用的文件与目录指令,包括新建/删除/复制/移动/查…

Spring Cloud Alibaba微服务从入门到进阶(一)(SpringBoot三板斧、SpringBoot Actuator)

Springboot三板斧 1、加依赖 2、写注解 3、写配置 Spring Boot Actuator Spring Boot Actuator 是 Spring Boot 提供的一系列用于监控和管理应用程序的工具和服务。 SpringBoot导航端点 其中localhost:8080/actuator/health是健康检查端点,加上以下配置&#xf…

卖木头块(Lc2312)——动态规划

给你两个整数 m 和 n ,分别表示一块矩形木块的高和宽。同时给你一个二维整数数组 prices ,其中 prices[i] [hi, wi, pricei] 表示你可以以 pricei 元的价格卖一块高为 hi 宽为 wi 的矩形木块。 每一次操作中,你必须按下述方式之一执行切割操…

在SwiftUI中使用Buider模式创建复杂组件

在SwiftUI中使用Buider模式创建复杂组件 我们在前面的博客闲聊SwiftUI中的自定义组件中聊到了如何在SwiftU中创建自定义组件。 在那里,我们创建了一个非常简单的组件RedBox,它将展示内容增加一个红色的边框。 RedBox非常简单,我们用普通的方…

电梯机房秀

每天乘坐电梯,您见过电梯的机房吗?来,跟着小伍去看看吧。Lets go! 电梯还能节能呢,您知道么?正好,小伍一块带您看看电梯节能装置(●◡●) 目前电梯节能装置已广泛应用于三菱、富士、日立、奥的斯…

电梯机房秀 系列二

上次小伍带大家看了部分机房的照片,并且简单介绍了一下电梯能量回馈装置,小伙伴们表示很新奇,没看够,今天小伍又来了,带大家看一下电梯能量回馈装置到底安装在电梯什么位置。跟着小伍去看看吧。Lets go! 电…

【MySQL基础】MySQL基础操作

文章目录 🍉什么是数据库?🍓MySQL数据库🧀1.数据库操作🍆1.1展示数据库🍆1.2创建数据库🍆1.3使用数据库🍆1.4删除数据库 🧀2.常用数据类型🧀3.数据表操作&…

电视盒子解析安装包失败,安卓4.4安装不了kodi的解决方法,如何安装kodi

有些安卓电视或者电视盒子的安卓系统版本太低、自身架构或者屏蔽了安装其他应用的功能,下载的Kodi apk安装包提示无法安装,解析程序包时出现问题、解析出错无法安装、[INSTALL_FAILED_OLDER_SDK]、此应用与您的电视不兼容。 解决方法: 1、3…

分享一下自己总结的7万多字java面试笔记和一些面试视频,简历啥的,已大厂上岸

分享一下自己总结的7万多字java面试笔记和一些面试视频,简历啥的,已大厂上岸 总结的面试资料:面试资料 SSM SSM搭建的版本有很多,例如有一个版本可以这么搭建,两个核心配置文件web.xml,applicationContext.xml。1.前…