Redis主从复制实现

redis(主从复制)教程 负责写入操作,同时将数据同步到从节点。:从主节点获取数据副本,通常用于读操作,帮助减轻主节点的负载。 阅读详情
概念

主从复制,是指将一台Redis服务器的数据 ,复制到其他的Redis服务器。前者称为主节点(master/leader) ,后者称为从节点(slave/follower) ;数据的复制是单向的,只能由主节点到从节点。Master以写为主 , Slave以读为主。默认情况下,每台Redis服务器都是主节点;且一个主节点可以有多个从节点(或没有从节点) ,但-一个从节点只能有一一个主节点。

主从复制的作用主要包括:

1、数据冗余:主从复制实现了数据的热备份,是持久化之外的- -种数据冗余方式。

2、故障恢复:当主节点出现问题时,可以由从节点提供服务,实现快速的故障恢复;实际上是一种服务的冗余。

3、负载均衡:在主从复制的基础上,配合读写分离,可以由主节点提供写服务,由从节点提供读服务(即写Redis数据时应用连接主节点,读Redis数据时应用连接从节点) , 分担服务器负载;尤其是在写少读多的场景下,通过多个从节点分担读负载,可以大大提高Redis服务器并发量。

4、高可用基石:除了上述作用以外,主从复制还是哨兵和集群能够实施的基础,因此说主从复制是Redis高可用的基础。

一般来说,要将Redis运用于工程项目中,只使用一台Redis是万万不能的(宕机),原因如下:

1、从结构上,单个Redis服务器会发生单点故障,并且一台服务器需要处理所有的请求负载,压力较大;

2、从容量上,单个Redis服务器内存容量有限,就算一台Redis服务器内存容量为256G ,也不能将所有内存用作Redis存储内存,一般来说 ,单台Redis最大使用内存不应该超过20G。

环境配置
127.0.0.1:6379> info replication  #查看当前库的信息
# Replication
role:master  #角色
connected_slaves:0  #没有从机
master_replid:7990863a99b0ecf766e42e1d6139b1297f4c5fe0
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:0
second_repl_offset:-1
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0

复制2个配置文件,然后修改对应的信息

1、端口(分别改为6380和6381)

2、pid名字

3、log文件名字

4、dump.rdb文件名

修改完毕之后,启动我们的三个redis服务器,可以通过进程信息查询。

一主二从

默认情况下,每台Redis服务器都是主节点;我们一般配置从机就可以了。配置的时候可以通过修改redis.conf文件实现和通过命令实现。我这里通过命令来进行配置。

127.0.0.1:6381> SLAVEOF 127.0.0.1 6379  #找谁当自己的老大 主机
OK Already connected to specified master
127.0.0.1:6381> info replication
# Replication
role:slave  #当前角色是从机
master_host:127.0.0.1   #可以看到主机的信息
master_port:6379  
master_link_status:up
master_last_io_seconds_ago:4
master_sync_in_progress:0
slave_repl_offset:434
slave_priority:100
slave_read_only:1
connected_slaves:0
master_replid:a1bcc640ae2ce4495fbc73ec295c2027ffcacdbb
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:434
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:71
repl_backlog_histlen:364

#在主机中查看
127.0.0.1:6379> info replication
# Replication
role:master
connected_slaves:2  #有两个从机
#从机的一些信息
slave0:ip=127.0.0.1,port=6380,state=online,offset=602,lag=1
slave1:ip=127.0.0.1,port=6381,state=online,offset=602,lag=1
master_replid:a1bcc640ae2ce4495fbc73ec295c2027ffcacdbb
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:602
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:602

注意

主机可以写,从机不能写只能读!主机中的所有信息和数据,都会自动被从机保存。
测试:

#主机写
127.0.0.1:6379> set k6 v6
OK
#从机写
127.0.0.1:6380> set k6 v6
(error) READONLY You can't write against a read only replica.
  • 主机断开连接,从机依旧连接到主机的,但是没有写操作,这个时候,主机如果回来了,从机依旧可以直接获取到主机写的信息!
  • 如果是使用命令配置的主从,如果从机重启了,就会变回主机!只要变为从机,立马就可以从主机中获取值!
复制原理

这里只作简单说明,详细说明请看《Redis主从复制的核心原理》
Slave启动成功连接到master后会发送一个psync命令

Master接到命令,启动后台的存盘进程,同时收集所有接收到的用于修改数据集命令,在后台进程执行完毕之后, master将传送整个数据文件到slave ,并完成一次完全同步。

全量复制: 而slave服务在接收到数据库文件数据后,将其存盘并加载到内存中。

增量复制: Master继续将新的所有收集到的修改命令依次传给slave ,完成同步

但是只要是重新连接master , 一次完全同步(全量复制)将被自动执行!我们的数据一定可以在从机中看到。
如果主机断开了连接我们可以使用SLAVEOF no one让自己变成主机。其他的节点就可以手动连接到这个最新的主节点。

Sentaurus TCAD 实战指南:几何、掺杂与物理模型对Ion/Ioff的协同调控 本文详细介绍了Sentaurus TCAD在器件仿真中的实战应用,重点解析了Ion(开态电流)与Ioff(关态电流)的协同优化方法。通过几何结构设计、掺杂工程和物理模型选择三大要素的精细调整,实现器件性能的显著提升。文章结合28nm和7nm工艺案例,展示了如何平衡Ion与Ioff的矛盾关系,为TCAD工程师提供实用指导。 阅读详情

相关推荐

Hadoop生态系统-新手快速入门(含HDFS、HBase系统架构)

Hadoop简介 Hadoop是一个由Apache基金会所开发的分布式系统基础架构。 用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。 Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量...

Hadoop环境搭建教程 472

关于Redis配置主从复遇到的问题,主机不显示从机的连接信息

遇到的问题!!! 设置单机集群的时候,两台从机都显示连接到主机,但是主机显示连接到的从机数量为0: 主机79: 从机80: 从机81: 总结查资料得: 主库master要求密码验证! 因为之前配置redis的密码,在配置文件中将requirepass注释掉 或者配置masterauth和requirepass的密码 即可 ###当master服务设置了密码保护时,slav服务连接master的密码 masterauth <master-password> #设置Redis连接密码,如果

weixin_47182777的博客 2602

YOLOv10注意力革新:小波域注意力(WDA)如何实现多尺度特征精准聚焦

本文深入解析YOLOv10中的小波域注意力(WDA)机制,探讨其如何通过频域分解与动态聚焦实现多尺度特征精准提取。WDA模块结合离散小波变换与注意力机制,显著提升小目标检测性能,在VisDrone数据集上AP提升达12.6%。文章详细介绍了两种集成方案及代码实现,为计算机视觉开发者提供实用指南。

weixin_29079671的博客 253

Redis系列(三)——主从介绍和配置

介绍和工作流程 工作原理:如果设置了一个slave,不管是在第一次链接还是重新链接master的时候,slave会发送一个同步命令 然后master开始后台保存,收集所有对修改数据的命令。当后台保存完成,master会将这个数据文件传送到slave,然后保存在磁盘,加载到内存中;master接着发送收集到的所有的修改数据的命令, Redis主从复制可以根据是否是全量分为全量同步和增量同步。

咸鱼老罗的博客 1361

大模型蒸馏实战:让小模型获得大模型的知识

本文为初学者提供了一份大模型蒸馏实战指南,通过情感分析任务演示如何将 BERT 的知识迁移到轻量级 TextCNN。文章结合原理图解与 PyTorch 代码,详解软标签生成、温度调节和双损失设计等核心概念,并对比蒸馏前后的性能差异(准确率提升 4.6%,推理速度达 1200 句 / 秒)。内含可直接运行的代码片段、训练技巧及常见问题解答,助力开发者快速掌握模型压缩核心技术,实现工业级部署效率。适合 NLP 入门者学习实践。

1369

新手避坑指南:用PIC16F15355开发板和MCC完成第一个UART通信项目

本文为新手提供了使用PIC16F15355开发板和MPLAB代码配置器(MCC)实现首个UART通信项目的完整指南。通过图形化配置系统时钟、UART参数并自动生成驱动代码,手把手教学如何避开常见陷阱,快速完成从环境搭建、代码编写到调试输出的全流程,助力开发者高效入门PIC单片机开发。

bash7scripter的博客 725

Redis源码剖析——主从复制(2)

从从节点角度出发,分析在Redis源码中的主从复制部分。

weixin_44479862的博客 541

华为OD机试真题 新系统【网络数据包收发处理】

华为OD机试 新系统真题【网络数据包收发处理】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题【网络数据包收发处理】多语言题解。

qq_45776114的博客 445

redis使用sysc超时_Redis详解(二)

一、redis认证二、redis事务三、Connection&server相关命令四、Redis的发布与订阅//充当mq的功能五、Redis持久化六、redis复制七、master-slave实现八、sentinal哨兵九、redis限制十、redis性能测试一、redis认eredis认证:vim /etc/redis.confrequirepass redispass //密码[roo...

weixin_42398056的博客 566

C#上位机+TensorFlow Lite 轻量化AI模型部署实战(工业级完整版,低算力工控机首选)

工业自动化轻量化AI部署指南:C# + TensorFlow Lite实战 摘要:本文针对工业自动化领域机器视觉部署的痛点,提出基于C#和TensorFlow Lite(TFLite)的轻量化解决方案。该方案完美适配低算力工控环境(J1900/2G内存),具有以下核心优势:1)极致轻量化,模型体积仅KB-MB级;2)CPU深度优化,单帧推理≤15ms;3)零环境依赖,纯C#部署;4)工业级稳定性,7×24小时运行。教程涵盖从环境搭建、模型转换到C#封装的完整流程,特别提供YOLOv8等工业常用模型的TFLi

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1030

GB28181 —— 3、C++编写GB28181设备端,完成注册、注销、保活心跳、响应查询目录等功能(附源码)

GB28181 —— Win10下编写GB28181设备端,完成注册、注销、保活心跳、响应查询目录等功能(附源码)

1308

Redis 如何实现主从复制

什么是主从复制? 主从复制有什么作用? 主从复制的优点是什么? 主从复制的缺点是什么?

. 3014

【开发必备插件】iframe嵌套报“拒绝连接请求”的本地解决方法

关键词:iframe 拒绝连接、X-Frame-Options、Chrome 插件、前端调试、Allow X-Frame-Options前几天我在本地项目里调试一个第三方网站的嵌入页面时,遇到了一个非常经典的报错:xxx.com 拒绝了我们的连接请求。熟悉的老前端们一眼就知道——这是。但对于日常开发来说,我们经常需要在本地测试 iframe 嵌套外部页面(比如嵌第三方登录页、支付页、可视化报表系统等)。而线上站点配置了或DENY时,就会直接导致 iframe 加载失败。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 1542

Redis主从复制实现RCE

主从复制是指将一台Redis主服务器的数据,复制到其他的Redis从服务器。前者称为主节点(master),后者称为从节点(slave);主服务器可以进行读写操作,当发生写操作时自动将写操作同步给从服务器,而从服务器一般是只读,并接受主服务器同步过来写操作命令,然后执行这条命令。 也就是说,所有的数据修改只在主服务器上进行,然后将最新的数据同步给从服务器,这样就使得主从服务器的数据是一致的。建立主从复制,有3种方式:PS:建立主从关系只需要在从节点操作就行了,主节点不用任何操作我们先在同一个机器开两个red

rev1ve的博客 4981

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

redis如何实现主从复制

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

张姐姐聊编程 1762

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Redis之主从复制的实现原理

Redis之主从复制的实现原理 必备知识:https://blog.youkuaiyun.com/sinat_32366329/article/details/81160282 如果不具备RDB持久化知识,请先看完这篇文章。 旧版复制功能的实现 Redis的复制功能可以分为同步和命令传播两个操作: 同步操作用于将从服务器的数据库状态更新至主服务器当前所处的状态。 ...

一叶知春秋 8842

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Redis 主从复制的实现及配置

文章目录Redis 主从复制的实现及配置 Redis 主从复制的实现及配置

花开一千年,花落一千年,花叶永不见 11万+

Redis之主从复制的实现

Redis高可用的方案包括持久化、主从复制(及读写分离)、哨兵和集群。这边文章就来介绍一些Redis的复制功能。 在Redis中,用户可以通过执行SLAVEOF命令或设置salveof选项,让一个服务器去复制另一个服务器,我们称被复制的服务器叫主服务器(master),对主服务器进行复制的服务器叫做从服务器(slave)。 为什么要使用主从复制 当主服务器挂掉之后,从服务器可以继续工作,从而实现快速的故障恢复,可以看做是数据备份。 在主从复制的基础上实现读写分离,即写在主服务器(master),读在从服

程铭程铭你快成名的博客 8917

Redis的主从复制底层实现

《Redis主从复制机制全解析:从初始化到数据同步》摘要: 本文以印刷车间为比喻,深入剖析Redis主从复制的底层实现机制。首先介绍了两种配置主从复制的方式(配置文件与运行时命令),详细讲解了复制初始化的5个关键步骤。重点分析了全量复制(RDB快照)和增量复制(积压缓冲区)的工作流程及适用场景,强调了大数据集全量复制的注意事项。最后解读了命令传播机制和心跳检测原理,提供了不同规模集群的配置建议。通过本文,读者可以全面掌握Redis主从复制的实现细节,构建高性能、高可用的Redis系统。

从不水文,坚持创作,加油 1619

10步实现Redis主从复制(Redis)

一、Redis实现主从复制 概念(了解才能方便实操): 主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(master),后者称为从节点(slave);数据的复制是单向的,只能由主节点到从节点。 主从复制的作用主要包括: 数据冗余:主从复制实现了数据的热备份,是持久化之外的一种数据冗余方式。 故障恢复:当主节点出现问题时,可以由从节点提供服务,实现快速的故障恢复;实际上是一种服务的冗余。 负载均衡:在主从复制的基础上,配合读写分离,可以由主节点提供写服务.

weixin_48629371的博客 1599

Redis(59)Redis的主从复制是如何实现的?

Redis 主从复制机制通过将主节点数据同步到从节点,实现数据备份、读写分离和灾难恢复。主节点处理写操作并同步数据,从节点处理读操作。配置方式包括修改redis.conf文件或使用REPLICAOF命令动态设置。Java中可通过Jedis库编程实现主从复制。通过INFO replication命令可监控同步状态,结合Redis Sentinel或Cluster可实现高可用性和故障自动转移。本文详细介绍了主从复制的原理、配置方法及Java实现,并提供了高可用性解决方案。

qq_43012298的博客 882

Redis 主从复制的实现原理是什么?

Redis 的主从复制是指一个 Redis 实例(主节点)可以将数据复制到一个或多个从节点(从节点),从节点从主节点获取数据并保持同步。PSYNC。

Rookie 727

Redis——redis的安装以及实现redis的主从复制

一.什么是redis redis是一个开源的,遵守BSD协议,是一个高性能的key-value数据库,内存存储的数据结构服务器,可用作数据路,高速缓存和消息队列的代理。支持字符串,哈希表,列表,集合,有序集合,位图,hyperloglogs等数据类型。内置复制,lua脚本,LRU收回,事务以及不同级别磁盘持续化功能,同时通过redis sentinel提供了高可用,通过redis cluster提...

试试看吧。 307

Redis主从复制的实现

本文主要介绍了Redis中主从复制的实现原理,以及旧版和新版的区别

Z..........的博客 441

Redis 主从复制实现原理

Redis 主从复制(Replication)是一种将数据从一个 Redis 实例(主节点,master)同步到一个或多个 Redis 实例(从节点,slave)的机制。它提供了数据备份和负载均衡的功能。

小小程序猿 625
上一篇: Redis事务实现
下一篇: Redis主从复制的核心原理
zcczero
博客等级 码龄9年 38粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值