redis7基础篇2 redis的主从模式1
目录
一 主从模式
1.1 主从复制的作用
1.2 配置常用命令
1.3 主从复制常见问题
1.4 主从复制的缺点
1.5 redis主从复制原理
二 redis主从复制的搭建流程
2.1 注意事项
2.2 redis的主从复制架构图
2.3 以6379.conf配置文件配置为例
2.4 以6380.conf配置文件配置为例
2.5 以6381.conf配置文件配置为例
2.6主从启动
2.7查看主从关系
一 主从模式
1.1 主从复制的作用
作用:主从复制,master以写为主,slave以读为主;当master有数据变化的时候,自动将新的数据异步同步到其它slave数据库。
其他作用:读写分离;容灾恢复;数据备份;水平扩容支撑高并发。
Master节点挂了后,默认从节点不会自选成主节点的。解决办法使用哨兵模式。
1.2 配置常用命令
1.info replication 可以查看复制节点的主从关系和配置信息。
2.replicaof 主库ip 主库端口 一般写入redis.conf配置文件内,这条指令的作用是指定要连接的主节点的 IP 地址和端口号,使得当前的 Redis 实例能够从主节点那里复制数据。
3.slaveof 主库ip 主库端口 命令用于设置当前数据库为指定主数据库的从数据库,并启动与主数据库的同步操作。
4.slaveof no one: 使当前数据库停止与其他数据库的同步,转成主数据库,自立为王。
replicaof 和 slaveof 是两个不同的命令,它们都用于将当前服务器配置为 Redis主实例的副本。replicaof 是 Redis 3.0 及以上版本推荐使用的命令,而 slaveof 是旧版本的命令。
1.3 主从复制常见问题
1.从机器不可以进行写操作;2.主机down之后,从机不会上位;3.主机down之后,主从关系还在;主机重新启动还能当master;4.从机down之后,再次重启后,先进行全量复制,然后进行增量复制。5.切入点问题:slave是从头开始复制还是从切入点开始复制? master启动,写到k3; slave1跟着master同时启动,跟着写到k3;slave2写到k3后才启动,那之前的是否也可以复制?先全量后增量。
1.4 主从复制的缺点
复制延时,信号衰减:由于所有的写操作都是现在master上操作,然后同步更新到slave上,所有从master同步到slave机器有一定的延迟,当系统很繁忙的时候,延迟问题会更加严重,slave机器数量的正价也会使这个问题更加严重。
Master节点挂了后,默认从节点不会自选成主节点的。解决办法使用哨兵模式。
1.5 redis主从复制原理
1.slave启动,同步初清;slave启动成功连接到master后会发送一个sync命令,slave首次全新链接master,一次完全同步(全量复制)将被自动执行,slave自身原有旧数据会被master数据覆盖掉。
2.首次连接,全量复制:mster节点收到sync命令后会开始在后台保存快照(即RDB持久化,主从复制会触发RDB),同时收集所有接收到的用于修改数据集命令缓存起来,master节点执行RDB持久化完后。Master将rdb快照文件和所有缓存命令发送到slave,以完成一次全量同步,而slave服务在接收到数据库文件rdb数据后,将其存盘并加载到内存中,从而完成复制初始化。
3.心跳持续,保持通信: repl-ping-replica-period 10:master发出PING包的周期,默认是10秒
4.进入平衡,增量复制:master继续将新的所有收集到的修改命令自动依次传给slave,完成同步。
5.从机下线,重连续传:master会检查backlog里面的offset,master和slave都会保存一个复制的offset还有一个masterid,offset是保存在backlog中的。
二 redis主从复制的搭建流程
2.1 注意事项
1.确保3台节点的防火墙进行关闭
2.权限设置,如果主节点设置了密码,master配置了requirepass参数,需要密码登录,则slave需要配置masterauth来设置校验码,否则的话master会拒绝slave的访问请求。
2.2 redis的主从复制架构图
主从复制的架构图:一主二从。
2.3 以6379.conf配置文件配置为例
1.开启daemonize yes的配置
2.注释掉 127.0.0.1
3.设置protected mode no
4.指定端口
5.制定当前工作目录
6.指定pid的文件路径
7.指定日志的文件目录
8.设置密码
9.设置dump.rdb文件名
10.aof的文件,路径配置
11.从节点访问主节点配置通信验证的密码,其他两个从节点需要配置信息,主节点不需要:
2.4 以6380.conf配置文件配置为例
将6379.conf配置文件复制到6380节点,修改文件名为6380.conf。进行配置主从关系:同时也配置密码校验。Masterauth 111111;
2.5 以6381.conf配置文件配置为例
将6379.conf配置文件复制到6381节点,修改文件名为6381.conf。进行配置主从关系:同时也配置密码校验。Masterauth 111111;
2.6主从启动
2.7查看主从关系
1.master日志查看:和从机端口6380和6381同步成功。
2.查看从机日志:可以看到从机连接到端口6379主机
3.使用命令进行查看:使用 info replication 进行查看
相关文章:

redis7基础篇2 redis的主从模式1
目录 一 主从模式 1.1 主从复制的作用 1.2 配置常用命令 1.3 主从复制常见问题 1.4 主从复制的缺点 1.5 redis主从复制原理 二 redis主从复制的搭建流程 2.1 注意事项 2.2 redis的主从复制架构图 2.3 以6379.conf配置文件配置为例 2.4 以6380.conf配置文件配置为例 …...

Springboot - Web
Spring Boot 是一个用于简化 Spring 应用程序配置和部署的框架。它提供了一种快速开发的方式,通过默认配置、自动化配置等特性,使得开发者能够更快捷地构建和部署基于 Spring 的应用。 Spring Boot Web 是 Spring Boot 的一个子模块,它专注于…...

【C】动态内存管理
所谓动态内存管理,就是使得内存可以动态开辟,想使用的时候就开辟空间,使用完之后可以销毁,将内存的使用权还给操作系统,那么动态开辟内存有什么用呢? 假设有这么一种情况,你在一家公司中工作&am…...

lec5-传输层原理与技术
lec5-传输层原理与技术 1. 传输层概述 1.1. 关键职责 flow control,流量控制reliability,可靠性 1.2. TCP与UDP对比 面向连接 / 不能连接对数据校验 / 不校验数据丢失重传 / 不会重传有确认机制 / 没有确认滑动窗口流量控制 / 不会流量控制 1.3. 关…...

【C语言】_指针运算
目录 1. 指针-整数 2. 指针-指针 2.1 指针-指针含义 2.2 指针-指针运算应用:实现my_strlen函数 3. 指针的关系运算(大小比较) 1. 指针-整数 联系关于指针变量类型关于指针类型和指针-整数相关知识: 原文链接如下࿱…...

“AI智慧教学系统:开启个性化教育新时代
大家好,我是老王,一个在产品圈摸爬滚打多年的资深产品经理。今天,我想和大家聊聊一个最近特别火的概念——AI智慧教学系统。这东西听起来好像很高大上,但其实和我们每个人都息息相关,因为它关系到我们下一代的教育。 一…...

商用车自动驾驶,迎来大规模量产「临界点」?
商用车自动驾驶,正迎来新的行业拐点。 今年初,交通部公开发布AEB系统运营车辆标配征求意见稿,首次将法规限制条件全面放开,有望推动商用车AEB全面标配,为开放场景的商用车智能驾驶市场加了一把火。 另外,…...

CSS 学习之正确看待 CSS 世界里的 margin 合并
一、什么是 margin 合并 块级元素的上外边距(margin-top)与下外边距(margin-bottom)有时会合并为单个外边距,这样的现象称为“margin 合并”。从此定义上,我们可以捕获两点重要的信息。 块级元素,但不包括浮动和绝对定位元素,尽…...

杰发科技——使用ATCLinkTool解除读保护
0. 原因 在jlink供电电压不稳定的情况下,概率性出现读保护问题,量产时候可以通过离线烧录工具避免。代码中开了读保护,但是没有通过can/uart/lin/gpio控制等方式进行关闭,导致无法关闭读保护。杰发所有芯片都可以用本方式解除读保…...

uni-app深度解码:跨平台APP开发的核心引擎与创新实践
在当今数字化浪潮中,移动应用市场呈现出爆炸式增长。为了满足不同用户群体在不同操作系统上的需求,跨平台 APP 开发成为众多开发者的首选策略。uni-app 作为一款领先的跨平台开发框架,以其独特的优势和创新的实践在众多同类产品中脱颖而出。它…...

unity团结云下载项目
今天开plastic scm发现它云服务好像停了哈,在hub里下载云端项目也不会出现在项目列表里,之前也有发邮件说让提前迁移到团结云。打开云仓库会弹这个,大概就是plastic scm无法解析域名地址吧 研究了一下团结云咋使,官方手册看半天也…...
Jmeter进阶篇(31)解决java.net.BindException: Address already in use: connect报错
📚前言 近期雪雪妹妹在使用Jmeter执行压测的时候,发现了一个非常让她头疼的问题,她使用20并发跑,正确率可以达到100%,但是一旦使用200并发,就会出现大量的报错,报错内容如下: java.net.BindException: Address already in use: connectat java.net.DualStackPlainSo…...

商米电子秤服务插件
概述 SunmiScaleUTS封装商米电子秤服务模块,支持商米旗下S2, S2CC, S2L CC等设备,设备应用于超市、菜市场、水果店等,用于测量商品的重量,帮助实现快捷、准确、公正的交易等一系列商业场景。 功能说明 SDK插件下载 一. 电子秤参数 型号:S2, S2CC, …...

华为ensp-BGP路由过滤
学习新思想,争做新青年,今天学习的是BGP路由过滤 实验目的: 掌握利用BGP路由属性AS_Path进行路由过滤的方法 掌握利用BGP路由属性Community进行路由过滤的方法 掌握利用BGP路由属性Next_Hop进行路由过滤的方法 实验内容: 本实…...

Sigrity System SI SerialLink模式进行Pcie3协议仿真分析操作指导-pcie3_client_single_post
Sigrity System SI SerialLink模式进行Pcie3协议仿真分析操作指导-pcie3_client_single_post Sigrity System SI SerialLink模式提供了10个协议合规性检查工具模板,用户可以将根据实际应用替换模板中的SPICE文件,然后进行协议仿真分析,同时软件还提供了目标结果的模板MASK以…...

Python提取目标Json键值:包含子嵌套列表和字典
目标:取json中所有的Name、Age字典 思路:递归处理字典中直接包含子字典的情况, import jsondef find_targ_dicts(data,key1,key2):result {}if isinstance(data, dict):if key1 in data and key2 in data: # 第一层字典中包含key1和key2re…...
分享6个对象数组去重的方法
大家好,关于对象数组去重的业务场景,想必大家都遇到过类似的需求吧,针对这样的需求,你是怎么做的呢。 下面我就先和大家讨论下基于对象的某个属性如何去重。 方法一:使用 .filter() 和 .findIndex() 相结合的方法 使…...

Formality:官方Tutorial(一)
相关阅读 Formalityhttps://blog.csdn.net/weixin_45791458/category_12841971.html?spm1001.2014.3001.5482 本文是对Synopsys Formality User Guide Tutorial中第一个实验的翻译(有删改),Lab文件可以从以下链接获取。 Formality官方Tu…...

力扣28找出字符串中第一个匹配项的下标
class Solution:def strStr(self, haystack: str, needle: str) -> int:# 特殊情况处理if not needle:return 0# 获取 haystack 和 needle 的长度a len(needle)b len(haystack)# 遍历 haystack,检查每个子字符串是否与 needle 匹配for i in range(b - a 1):if…...
【JAVA】java中将一个list进行拆解重新组装
一、使用场景 1、当需要对一个list中的元素属性进行重新赋值,比如一个list中存储了订单数据,我们需要改变list中每个订单的id,然后再重新输出订单list if(CollectionUtils.isNotEmpty(orderList)){ orderList.forEach(p->{ …...
Linux简单的操作
ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...
linux 错误码总结
1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...

微信小程序云开发平台MySQL的连接方式
注:微信小程序云开发平台指的是腾讯云开发 先给结论:微信小程序云开发平台的MySQL,无法通过获取数据库连接信息的方式进行连接,连接只能通过云开发的SDK连接,具体要参考官方文档: 为什么? 因为…...

打手机检测算法AI智能分析网关V4守护公共/工业/医疗等多场景安全应用
一、方案背景 在现代生产与生活场景中,如工厂高危作业区、医院手术室、公共场景等,人员违规打手机的行为潜藏着巨大风险。传统依靠人工巡查的监管方式,存在效率低、覆盖面不足、判断主观性强等问题,难以满足对人员打手机行为精…...
go 里面的指针
指针 在 Go 中,指针(pointer)是一个变量的内存地址,就像 C 语言那样: a : 10 p : &a // p 是一个指向 a 的指针 fmt.Println(*p) // 输出 10,通过指针解引用• &a 表示获取变量 a 的地址 p 表示…...

FFmpeg avformat_open_input函数分析
函数内部的总体流程如下: avformat_open_input 精简后的代码如下: int avformat_open_input(AVFormatContext **ps, const char *filename,ff_const59 AVInputFormat *fmt, AVDictionary **options) {AVFormatContext *s *ps;int i, ret 0;AVDictio…...

从物理机到云原生:全面解析计算虚拟化技术的演进与应用
前言:我的虚拟化技术探索之旅 我最早接触"虚拟机"的概念是从Java开始的——JVM(Java Virtual Machine)让"一次编写,到处运行"成为可能。这个软件层面的虚拟化让我着迷,但直到后来接触VMware和Doc…...
WEB3全栈开发——面试专业技能点P4数据库
一、mysql2 原生驱动及其连接机制 概念介绍 mysql2 是 Node.js 环境中广泛使用的 MySQL 客户端库,基于 mysql 库改进而来,具有更好的性能、Promise 支持、流式查询、二进制数据处理能力等。 主要特点: 支持 Promise / async-await…...
node.js的初步学习
那什么是node.js呢? 和JavaScript又是什么关系呢? node.js 提供了 JavaScript的运行环境。当JavaScript作为后端开发语言来说, 需要在node.js的环境上进行当JavaScript作为前端开发语言来说,需要在浏览器的环境上进行 Node.js 可…...
数据库正常,但后端收不到数据原因及解决
从代码和日志来看,后端SQL查询确实返回了数据,但最终user对象却为null。这表明查询结果没有正确映射到User对象上。 在前后端分离,并且ai辅助开发的时候,很容易出现前后端变量名不一致情况,还不报错,只是单…...