Redis主从复制看这篇就够了

告别 DIFY 构建卡顿 / 失败!巧用 Makefile 一键构建本地 WEB 镜像,附核心避坑指南 本文详细介绍了DIFY本地源码构建WEB镜像的完整流程,重点解决因官方npm源不稳定导致的构建失败问题。通过修改web/Dockerfile文件启用国内npmmirror镜像源,可大幅提升依赖下载速度和稳定性。在DIFY根目录执行封装好的make build-web命令即可一键完成构建,无需手动编写复杂docker命令。文章还提供了前置环境准备、构建结果验证等实用指导,帮助开发者高效完成DIFY前端二次开发后的镜像构建验证。 阅读详情

什么是主从复制

持久化保证了即使 redis 服务重启也会丢失数据,因为 redis 服务重启后会将硬盘上持久化的数据恢复到内存中,但是当 redis 服务器的硬盘损坏了可能会导致数据丢失,如果通过 redis 的主从复制机制就可以避免这种单点故障,如下图:

13467292-e4289ab1b25e8ee1


说明:

主 redis 中的数据有两个副本(replication)即从 redis1 和从 redis2,即使一台 redis 服务器宕机其它两台 redis 服务也可以继续提供服务。

主 redis 中的数据和从 redis 上的数据保持实时同步,当主 redis 写入数据时通过主从复制机制会复制到两个从 redis 服务上。

只有一个主 redis,可以有多个从 redis。

主从复制不会阻塞 master,在同步数据时,master 可以继续处理 client 请求。

一个 redis 可以即是主又是从,如下图:

13467292-0bc7fae366506a80



主从配置

1、主 redis 配置

无需特殊配置。

2、从redis配置

修改从 redis 服务器上的 redis.conf 文件,添加 slaveof 主 redisip 主 redis 端口。

13467292-40e3c1c0d918caa6


上边的配置说明当前该从 redis 服务器所对应的主 redis 是192.168.101.3,端口是6379。

主从复制过程

1、完整复制过程

在 redis2.8 版本之前主从复制过程如下图:

13467292-aa43a5294fa9c83b


复制过程说明:

slave 服务启动,slave 会建立和 master 的连接,发送 sync 命令。

master 启动一个后台进程将数据库快照保存到 RDB 文件中

注意:此时如果生成 RDB 文件过程中存在写数据操作会导致 RDB 文件和当前主 redis 数据不一致,所以此时 master 主进程会开始收集写命令并缓存起来。

master 就发送 RDB 文件给 slave

slave 将文件保存到磁盘上,然后加载到内存恢复

master 把缓存的命令转发给 slave

注意:后续 master 收到的写命令都会通过开始建立的连接发送给 slave。

当 master 和 slave 的连接断开时 slave 可以自动重新建立连接。如果 master 同时收到多个 slave 发来的同步连接命令,只会启动一个进程来写数据库镜像,然后发送给所有 slave。

完整复制的问题:

在 redis2.8 之前从 redis 每次同步都会从主 redis 中复制全部的数据,如果从 redis 是新创建的从主 redis 中复制全部的数据这是没有问题的,但是,如果当从 redis 停止运行,再启动时可能只有少部分数据和主 redis 不同步,此时启动 redis 仍然会从主 redis 复制全部数据,这样的性能肯定没有只复制那一小部分不同步的数据高。

2、部分复制

13467292-292e266a665044ae


部分复制说明:

从机连接主机后,会主动发起 PSYNC 命令,从机会提供 master 的 runid(机器标识,随机生成的一个串) 和 offset(数据偏移量,如果offset主从不一致则说明数据不同步),主机验证 runid 和 offset 是否有效,runid 相当于主机身份验证码,用来验证从机上一次连接的主机,如果 runid 验证未通过则,则进行全同步,如果验证通过则说明曾经同步过,根据 offset 同步部分数据。

Java高架构师、分布式架构、高可扩展、高性能、高并发、性能优化、 Spring boot、Redis、ActiveMQ、Nginx、Mycat、Netty、Jvm大型分布式项 目实战学习架构师视频免费学习加群:835638062 点击链接加入群聊【Java 高级架构】:https://jq.qq.com/?_wv=1027&k=5S3kL3v

[AI8051U入门第一步]环境安装和按键控制流水灯 本文介绍了AI8051U单片机的开发环境搭建及GPIO应用。主要内容包括:1)通过ISP软件完成Keil开发环境配置;2)AI8051U特性介绍,包括32位8051内核、浮点运算单元及丰富外设;3)GPIO输入输出模式解析,并附流水灯控制代码;4)提供完整的系统初始化、延时函数及LED控制代码实现。文章配套资源包含完整工程代码,适用于智能硬件及物联网开发。 阅读详情

相关推荐

USB接口ESD保护电路:深度剖析与选型建议

USB接口在热插拔和频繁使用中极易遭遇静电放电(ESD)冲击,导致芯片损坏或通信异常。本文结合实际电路设计经验,详解TVS二极管、集成ESD防护器件等方案在USB接口上的应用要点,重点分析钳位电压、结电容、IEC 61000-4-2等级等关键参数对信号完整性与防护效果的影响,助你为USB接口匹配高可靠、低干扰的ESD保护方案。

weixin_36289813的博客 511

什么是redis

一、redis简介 Redis 是C语言开发的一个开源高性能键值对的内存数据库,可以用来做数据库、缓存、消息中间件等场景,是一种NoSQL(not-only sql,非关系型数据库)的数据库 二、Redis特点 优秀的性能,数据是存储在内存中,读写速度非常快,可支持并发10W QPS 单线程但进程,是线程安全的,采用IO 多路复用制 可作为分布式锁 支持五种数据类型 支持数据持久化到磁盘 可以作为消息中间件使用,支持消息发布及订阅 二、数据类型

m0_56771917的博客 3万+

电动汽车整车控制器 UDS诊断功能开发调试优化方法

摘要:通过某电动汽车VCU开发过程中,UDS诊断功能的调试,发现一些测试中存在的问题,比如覆盖度不够、效率低下等,提出了相应的优化方法,并经过测试验证其可行性,此方法亦可推广应用至BMS、HCM等其他控制器的UDS诊断开发调试过程中。希望能给相关技术人员带来参考和帮助。

qq_43011586的博客 2143

Redis 简介

1.1 Redis是什么 (1)全称:Remote Dictionary Server(远程字典服务器)。是完全开源免费的,用C语言编写 的, 遵守BSD协议。是一个高性能的(key/value)分布式内存数据库,基于内存运行并支持持久化的NoSQL数据库,是当前最热门的NoSql数据库之一,也被人们称为数据结构服务器。 (2)Redis 与其他 key - value 缓存产品有以下三个特点 i)Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用ii)Redis.

日积月累 9899

AD7768与STM32F439的硬件设计避坑指南:如何优化高精度ADC系统的电源与PCB布局

本文详细解析了AD7768与STM32F439在高精度ADC系统硬件设计中的关键问题与优化方案。从电源系统设计、PCB布局到基准电压选型,提供了实用的避坑指南和实测数据,帮助工程师提升系统性能至110dB动态范围。特别强调了SPI信号布线和电源滤波对ADC精度的重要影响。

sugar的博客 741

【凌智视觉模块】rv1106 部署 pp-humseg 模型

人像分割技术实现摘要 人像分割是利用计算机视觉技术将图像/视频中的人物与背景分离的像素级处理技术。凌智视觉模块基于RV1106芯片开发,支持高效视觉模型部署。当前主流方法包括PP-HumanSeg、BiSeNet等深度学习模型,其中PP-HumanSegV2以96.63% mIoU精度和63FPS手机端速度成为SOTA方案。 实现流程包含: 初始化RKNN模型后端 图像预处理(尺寸调整、颜色空间转换) 执行模型推理 后处理(概率解码、动态阈值分割、形态学优化) 代码实现要点: 使用RKNPU2Backend

m0_50786932的博客 987

什么是Redis ?

Redis 是现在最受欢迎的NoSQL 数据库之一,Redis 是一个包含多种数据结构、支持网络、基于内存、可选持久性的键值对KeyValue)存储数据库从广义来讲,Redis 可以称为数据库。Redis 也符合“按照数据结构来组织、存储和管理数据的仓库”的定义,可以说是一种数据库NoSQL 是各种资料中常见的词,它是"Not Only SQL"的缩写,泛指非关系型数据库。我们常用的MySQLSqlServer都是关系型数据库,这些数据库一般用来存储重要信息,应对普通的业务是没有问题的。

KunTure的博客 3223

ESP32-S3 SPI驱动SD卡与FATFS文件系统实践

SPI(串行外设接口)是嵌入式系统中常用的同步串行通信协议,通过主从架构实现全双工通信。其工作原理基于时钟同步和数据线传输,具有接线简单、占用引脚少的优势。在存储扩展场景中,SPI模式可驱动SD卡实现大容量数据存储,配合FATFS文件系统可提供标准化的文件管理能力。ESP32-S3作为乐鑫推出的高性能Wi-Fi/蓝牙双模芯片,其SPI外设支持高达80MHz时钟频率,结合ESP-IDF提供的sdspi_host驱动,开发者能快速实现SD卡存储方案。该技术广泛应用于物联网设备日志存储、传感器数据采集等场景,本实

weixin_29168393的博客 357

redis详细概念大全

Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value的非关系型数据库。Redis的数据都基于缓存的,所以很快,每秒可以处理超过10万次读写,是已知性能最快的Key -Value DB。也可以实现写入磁盘中,保证了数据的不丢失,而且Redis的操作是原子性的。

快乐学习 1732

电商行业分析爬虫:抓取行业数据,进行行业分析

电商行业数据分析对于市场研究、竞争分析和商业决策至关重要。通过爬取电商平台的数据,我们可以深入了解市场动态、消费者行为和商品销售情况。本文将介绍如何构建一个电商行业分析爬虫,抓取商品信息、销售数据和用户评价等,并进行数据分析。

u014481728的博客 1629

【DNN实现二分类模型推理部署(C#)----20240712】

【DNN实现二分类模型推理部署(C#)----20240712】

weixin_44119674的博客 213

Redis详解

PS:这是多年黄历的老八股了,一定要理解清楚。缓存击穿一个并发访问量比较大的key在某个时间过期,导致所有的请求直接打在DB上。解决⽅案:加锁更新,⽐如请求查询A,发现缓存中没有,对A这个key加锁,同时去数据库查询数据,写⼊缓存,再返回给⽤户,这样后⾯的请求就可以从缓存中拿到数据了。将过期时间组合写在value中,通过异步的⽅式不断的刷新过期时间,防⽌此类现象。缓存穿透缓存穿透指的查询缓存和数据库中都不存在的数据,这样每次请求直接打到数据库,就好像缓存不存在一样。

qq_31432773的博客 1万+

第一章 千牛实时获取消息之ws服务端搭建

以上就是今天要讲的内容,本文仅仅简单介绍了ws服务端的搭建,后面将介绍ws客户端的搭建和配合ws服务器的测试。

不想说话的树专栏 1841

Redis 主从复制原理分析,这篇就够了

前言 在现有企业中 80%公司大部分使用的是 redis 单机服务,在实际的场景当中单一节点的 Redis 容易面临风险。 由于无法做到故障转移,所以接下来的请求将会直接打到数据库,大量的查询使得数据库连接数达到峰值,且内部锁冲突严重,造成慢查询、连接超时等后果。所以这个时候,我们能不能把数据复制多个副本部署到其他节点上进行复制,当发生故障时,快速地手动切换连接的 Redis? 当然可以的,Redis 就为我们提供了这个功能。 主从模式能将 Master 节点的数据冗余到多台 Slave 上,配合哨兵模式能

养歌的博客 6086

贝叶斯统计 [韦来生编]

贝叶斯(Bayes)统计是近几十年来迅速发展起来的数理统计的一个重要分支。贝叶斯方法与经典统计方法的主要不同之处是进行统计推断时除了利用样本信息外,还要利用参数的先验信息,因此可以提高统计推断或统计决策的效果。它在经济、金融、生物、医学、自然科学和社会科学等许多领域具有广泛的应用。贝叶斯方法的研究已渗透到了统计学的几乎所有领域。作者在给中国科学技术大学概率论与数理统计专业本科生开设的“数理统计”课程中有一章专门讲授“贝叶斯方法和统计决策理论”,近十年来也给中国科学技术大学概率统计专业研究生开设过几次“贝叶斯分析”课。本书是在对过去讲稿的内容作了适当的增减和调整的基础上完成的。  本书共分六章。第1章是绪论,介绍了贝叶斯统计的若干基本概念,同时对必要的数理统计的基础知识有重点地作了回顾。第二章介绍了确定先验分布的若干可供选择的方法。第三章介绍了几类常见统计模型参数的后验分布的主要结果和计算方法。第四章和第五章分别介绍了“贝叶斯统计推断”和“贝叶斯统计决策”的内容。第六章介绍了贝叶斯统计计算的若干方法,包括蒙特卡洛方法和马尔可夫链蒙特卡洛(MCMC)方法以及相关统计软件的简介。本书的每一章附右大量的例题和习题,书末附有常用的几个表格和部分习题解答供读者查用。  大约可在54学时内讲授本书的第1章至第六章的主要内容,教师可根据学时需要选讲本书第1章至第六章的部分内容。书中标“*”号的章节可略去不讲,留给读者作为阅读材料。第六章例题中的R代码和部分例题的数据文件等可从作者个人主页下载。  作者在编写本书的过程中参考了J.O.Berger教授的《统计决策论及贝叶斯分析》和茆诗松教授编写的《贝叶斯统计》等书中的一些内容,以及《贝叶斯分析》一书中由张伟平博士编写的有关贝叶斯统计计算的一些内容。在此表示衷心感谢。  本书编写准备过程中,中国科学技术大学统计与金融系的几个研究生帮助完成了本书部分中文的录入和排版,作者对他们的辛勤工作表示真诚的感谢。高等教育出版社为本书的出版给予了大力支持。在此一并致谢。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

redis搭建集群,主从复制,读写分离,看我这篇就够辣

背景:redis集群(主从复制,读写分离),因为单台redis能力有限,用到redis的,基本上是读多写少,让写的操作去master主节点,读操作去slave 或 replica 从节点,一主多从,当主节点的数据变更,在把数据同步到从节点,这样就能得到提升。10、让6379是主节点、另外两个是从节点(先进入6380 6381的redis-cli, 下面这张图片的命令输入错误了,这里小编就不改了,是这个命令 SLAVEOF 192.168.99.24 6379)也成功了,好我们再在从节点写入数据,试一试,

weixin_74412978的博客 257

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Redis主从复制原理

一、为什么需要主从复制: 1、单台Redis节点的局限性: (1)单节点的Redis能够支撑QPS大概在5万左右,如果上千万的用户访问,Redis就承载不了,成为了高并发的瓶颈。 (2)内存上,单个Redis的内存不宜过大,内存过大会导致主从同步时全量同步时间过长,而且在实例重启恢复时也会消耗很长的数据加载时间,一般控制在10G以内即可。 (2)CPU 的利用率上,单个 Redis 实例只能利用单个核心,这单个核心在面临海量数据的存取和管理工作时压力会非常大。 四、Redis主从复..

张维鹏的博客 3万+

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

讲解Redis的主从复制

讲解redis的主从复制

奔走的王木木Sir的博客 2975

Redis的主从复制

redis主从复制的介绍

m0_65558082的博客 2490

[Redis] Redis主从复制模式

主从主从,顾名思义就是有的服务式"主"结点.有的是"从"结点.比如我们有三台物理服务器(称为三个节点),此时就可以把其中一个节点,作为"主节点",而另外两个作为"从节点".这时候,从结点就必须听主节点的,从结点的数据要跟随主节点变化,从结点的数据需要和主节点保持一致.也就是主节点原有的数据,在与从结点建立连接之后,就需要把主节点上面的数据复制到从结点上,后续主结点这边对于数据有任何修改,都会把这样的修改也同步给从结点上.说的再简单一点,从结点就是主节点的一个副本.

无需多言 2181

【面试之Redis篇】主从复制原理

由一个 Redis 服务器(主节点 Master)将其数据自动同步到一个或多个 Redis 服务器(从节点 Slave)的过程。它的核心目的是实现数据的冗余备份、实现读写分离以提升读性能、并构成高可用和故障恢复的基础。最终一致性:Redis 主从复制是异步的,这意味着主从数据存在短暂延迟,是最终一致性模型。延迟取决于网络、负载等因素。核心面试点全量复制 vs 部分复制:理解它们的触发条件和过程,尤其是PSYNC机制。核心组件复制偏移量 (offset)复制积压缓冲区 (backlog)

m0_73609995的博客 1501

Redis的主从复制原理

十八岁男孩爆肝Redis极品文章,必须三连奥里给爆赞

h123456789999999的博客 3731
上一篇: java开发Demo~微信扫码支付,java开发示例
下一篇: MySQL存储引擎你们知道多少?
普通网友
博客等级 码龄8年 55粉丝 197原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值