Redis修炼 (17. redis主从集群的数据同步原理 全量同步/增量同步)

news2024/11/25 18:46:39

数据同步

在一个集群之中 数据同步是很重要的。
redis的集群有多种。 我们这次主要说 主从集群。

全量同步

既然是主从集群 那么肯定是 1个master节点 多个从节点。redis的集群中的第一次同步 我们叫 全量同步:

为什么要强调第一次? 因为如果你是第一次来 说明你什么都没有 我要给你我所有的数据 还有数据版本。(先给版本号 再执行bgsave 生成RDB. 这里为什么要bgsave 上一篇讲了 你直接save 是要占用主进程的)

这时候master的主进程继续接受各种请求, 子进程负责生成RDB文件

这里要注意一个细节。 子进程开始生成RDB文件同步从节点的时间内,你的master的数据可能又变了, 那么这部分多的 他会生成一个命令文件(AOF的感觉) 然后把这两大块 一起给从节点 这样就算完整了。

这就是从节点一次的同步 我们叫全量同步,因为你想 第一次同步说明从节点的redis毛都没有嘛。 所以要全量。

然后这里有一个关键问题:

master如果判断slave是不是第一次来同步数据?

在这里插入图片描述
简单来讲就是:
id是不是一致 不一致 说明你不是第一次来

如果id一致 说明你是已经来过了, 那么我们就按offset来判断,是不是需要做增量的同步。

这些过程 可以到redis集群启动的日志中看到。

有兴趣的兄弟可以去看一下。

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

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

相关文章

独家策略大放送:最高年化150%的策略,谁不感兴趣?(含免费版)

上一节我们在沪深300中回测了550中均线交叉策略,有朋友想看看这些策略在沪深300以外的中小市场表现如何,同时大家都非常好奇表现抢眼的老Q自研指标WMA_Q系列到底是怎么计算的。 于是老Q又选择了中证500和创业板指来验证下这些策略是否能有同样的表现(PART 1),顺便在今天的…

流水线中的握手信号笔记

1.《握手信号的打拍(一)》 解释了,为什么在流水线中,握手信号不能简单得加一级寄存器 业界关于流水线级握手信号的标准答案是 skid buffer,此外还有人提到了 Register slice 2.《握手信号的打拍(二)》 为什么简单加一级寄存器会握手失败 &…

抖音SEO系统源码开发搭建/MVC二次开发定制

首先,抖音SEO矩阵系统源码开发,如何做独立部署,首先我们需要深刻理解这个系统的开发逻辑是什么?开发的前言是在抖音平台做流量新增,现在抖音及各大主流短视频平台,流量新增,各大企业需要在短视频…

Redis BigKey

Redis BigKey 一 面试题引入二 MoreKey案例2.1 大批量往redis里面插入2000W测试数据key2.1.1 Linux Bash下执行,插入100W2.1.2 通过redis提供的管道 --pipe命令插入100W大批量数据 2.2 key *2.3 生产上如何限制keys*/flushdb/flushall等危险命令以防止误删误用&…

我们在操作自动化测如何实现用例设计实例

在编写用例之间,笔者再次强调几点编写自动化测试用例的原则: 1、一个脚本是一个完整的场景,从用户登陆操作到用户退出系统关闭浏览器。 2、一个脚本脚本只验证一个功能点,不要试图用户登陆系统后把所有的功能都进行验证再退出系统…

【结构体-位段】

位段 在结构体中&#xff0c;以位为单位的成员&#xff0c;咱们称之为位段(位域)。 struct packed_data{unsigned int a:2;unsigned int b:6;unsigned int c:4;unsigned int d:4;unsigned int i; } data;注意&#xff1a;不能对位段成员取地址。 #include<stdio.h>str…

5.名词复数、动词规则、代词、形容词、副词(不包含不规则)

目录 一、 名词、动词、代词、形容词、副词五种的规则变化。 &#xff08;1&#xff09;名词。 &#xff08;1.1&#xff09;名词复数变化。 &#xff08;1.2&#xff09;名词所有格。 &#xff08;2&#xff09; 动词变化规则。 &#xff08;3&#xff09;代词。 &…

C语言-double和float在内存中的存储方式

本文主要介绍double和float数据类型在C语言中的存储方式 文章目录 double和float存储方式介绍如何存储&#xff1f; double和float存储方式介绍 从存储结构和算法上来讲&#xff0c;double和float是一样的&#xff0c;不一样的地方仅仅是float是32位的&#xff0c;double是64位…

【CAN卡通信的下位机-STM32cubeIDE-hal库+STMF1xx和STMF4xx+数据发送和接收+轮询接收方式+基础样例(1)】

【CAN卡通信的下位机-STM32cubeIDE-hal库数据发送和接收轮询接收方式基础样例1】 1、概述2、实验环境3、自我总结与提升(1)道理学习了一堆&#xff0c;如何使用STM32进行can的收发的话&#xff0c;配置还是挺简单。(2)自己实现了can的收发后&#xff0c;要反过来&#xff0c;补…

shell编程——Here Document免交互与Expect(免交互,高效率)

shell编程——Here Document免交互与Expect&#xff08;免交互&#xff0c;高效率&#xff09; 一、Here Document免交互概述二、Here Document常规用法1、免交互方式实现对行数地统计2、通过read/tee命令接受输入并打印3、通过passwd给用户设置密码4、支持变量替换5、整体赋值…

K8S基础操作之命令篇

目录 第一章.陈述式资源管理 1.1陈述式资源管理方法 1.2.基本命令查看信息 1.3.K8S管理操作分为2大类 1.4.数据网络端口访问流程 第二章.基本信息查看 2.1.命令格式 2.2.命令 2.3.项目的生命周期 第三章.service 3.1.概述 3.2.service 的 type 类型 3.3 headless …

神级指标DMI魔改免费公开!在宽基指数上也可以收获40倍收益,每年都在创新高!

一、写在前头 今天,我们要讲的DMI实际上是一组指标,它由表示多空方向的PDI、MDI以及表示趋势强度的ADX、ADXR共四条线组成。在正式开讲之前,我们先聊几句近期的行情。 上周我们根据量化策略提示了一些板块的机会,其中有一些已经开始有所表现。比如今天涨幅前十的板块中,…

【python笔记】可变对象和不可变对象

前言 在python中&#xff0c;一切事物皆是对象&#xff0c;变量是对象在内存中的存储和地址的抽象。类型也是属于对象的&#xff0c;而不是变量。变量和对象是分离的&#xff0c;对象是内存中储存数据的实体&#xff0c;变量则是指向对象的指针。 “”(赋值号)是将右侧对象的内…

网络编程与netty

目录 NIO 网络编程Buffer&#xff08;缓冲区&#xff09;Channel&#xff08;通道&#xff09;Selector&#xff08;选择器&#xff09;SelectionKey 零拷贝原生NIO存在的问题 线程模型传统阻塞 I/O 服务模型Reactor 模式单 Reactor 单线程单 Reactor 多线程主从 Reactor 多线程…

RabbitMQ养成记 (3.MQ的简单工作模式 和 Pub/sub 订阅模式)

上一篇是一个简单的helloworld。 我们直接发直接收 这种是最简单的。 下面我们再来接触更加复杂一点&#xff1a; 简单工作模式 work queues 工作队列模式&#xff1a; 这里注意 这里的消息 对两个消费者 c1 c2来说是竞争关系 而不是等份分发关系&#xff0c; 就像两个线程…

[山海关crypto 训练营 day10]

日常鼓励自己&#xff1a;别抱怨努力的苦&#xff0c;那是你去看世界的路。 最近几天一直忙着项目的结项答辩&#xff0c;今天终于是搞完了&#xff0c;得到了老师们的一致好评&#xff0c;最近几天的努力也没白费&#xff01;现在可以愉快刷题了&#xff0c;先复现下LiteCtf的…

c++核心知识—文件操作

目录 一、文件操作 1、文本文件 2、二进制文件 一、文件操作 文件操作头文件&#xff1a;<fstream> 操作文件的三大流&#xff1a; 1、ofstream&#xff1a;写操作 2、ifstream&#xff1a;读操作 3、fstream&#xff1a;读写操作 1、文本文件 写文件 步骤&…

【数据结构】-学习链表所需要的预备知识

知识点收集于网络&#xff0c;我会加以总结&#xff0c;如果把预备知识学好了。那么后面的操作就不难了 用节或者结都可以&#xff0c;不要在意字的差别 目录 一、头指针与头结点的概念 二、链表带头结点和不带头节点的区别 三、八大链表类型&#xff1a; 四、链表节点为…

unity制作幽灵猎手射击游戏

文章目录 介绍人物向着鼠标点击的位置跑动、旋转lerp函数让摄像机平滑跟随敌人导航敌人攻击发射子弹攻击敌人玩家健康敌人健康分数显示刷怪笼游戏结束动画 介绍 玩家鼠标控制人物转向 玩家鼠标点击控制光线发射的终点 玩家受到伤害屏幕闪红 有三个怪物生成点 玩家射杀敌人获得分…

linux-项目部署软件安装

安装jdk 操作步骤&#xff1a; 1、使用FinalShell自带的上传工具将jdk的二进制发布包上传到Linux jdk-8u171-linux-x64.tar.gz 2、解压安装包&#xff0c;命令为tar -zxvf jdk-8u171-linux-x64.tar.gz -C /usr/local 3、配置环境变量&#xff0c;使用vim命令修改/etc/profile文…