最新Redis7主从复制(保姆级教程)

2023-12-16 12:01

本文主要是介绍最新Redis7主从复制(保姆级教程),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前提准备:三台云服务器(吐血消费,点赞回血)也可以使用虚拟机创建三台,但是我搞了一天也连接不上,要是又可以连接上的大家可以教我一下,也可以参考一下或者大家可以参考一下这个大佬的配置:如何配置虚拟机

官网解释:

一句话解释:master以写为主,slave以读为主;就是当master数据变化的时候,自动将新的数据异步同步到其他slave数据库

                        ​​​​​​

配置文件修改

我们使用vim redis.conf 在视图模式使用:set number 就可显示行数

开启daemonize yes 

注释掉bind 127.0.0.1 

protected-mode no 

指定端口 

指定当前工作目录:dir  

pid文件名字:pidfile 

log文件名字:logfile 

密码设置:requirepass 

dump.rdb名字 

aof文件:appendfilename 

从机访问主机的通行密码masterauth,必须

常用三招

一主二仆

配置文件固定写死

我们按照上述配置文件,修改一下我们的文件

先master后slave依次启动

此时我们可以看见,每个redis服务器都执行keys *的时候,都可以把所有元素都打印一下

我们可以通过日志查看一下主从关系

主机日志:使用vim 6379.log

从机日志:

1、从机可以执行写命令吗?

此时我们可以看到,我们使用从机设置的时候,报错了!!!

2、slave是从头开始复制还是从切入点开始复制?

master启动,写到k3

slave1跟着master同时启动,跟着写到k3

slave2写到k3后才启动,那之前的是否也可以复制?

此时我们可以发现,slave2把所有内容都同步了,结论:首次一锅端,后续跟随,master写,slave跟

3、主机shutdown后情况如何?从机是上位还是原地待命

从机不动,原地待命,从机数据可以正常使用;等待主机重启动归来,当主机回来后,青山依旧在!!!

4、某台从机down后,amster继续,从机重启后能否跟上大部队?

由此我们可以知道,无论是那个从机down机了,重连之后都会从主机复制所有内容

命令操作手动指定

刚刚我们是吧主从关系写到配置文件中,这样只要一开机,就会自动连接主机,现在我们要实现手动连接

1、从机停机去掉配置文件中的配置项,三台都是主机的状态,各不从属

2、使用info replication查看主从关系

预设的从机上执行 slaveof 主机ip 端口号

此时我们可以看见执行该命令的机器变成从机

如果从机重启的话关系还在呢

很显然,我们重启之后这种主从关系就消失了

薪火相传

关于上述的一主二从的关系是比较鸡肋的,因为多个从机连接一个master会增加master的压力;所以我们要实现一种方法:

上一个slave可以是下一个slave的master,slave同样可以接收其他slaves的连接和同步请求,那么该slave作为了链条中下一个的master,可以有效减轻主master的写压力

反客为主

使当前数据库停止与其他数据库的同步,转为master

复制的工作原理和工作流程

slave启动,同步初始

slave启动成功连接到master后会发送一个sync命令、

slave首次全新连接master,一次完全同步(全量复制)将会被自动执行,slave自身原有数据将会master数据覆盖清除

首次连接,全量复制

master节点收到sync命令后,会开始在后台保存快照(即RDB持久化,主从复制时会触发RDB),同时收集所有接受到的用于修改数据集命令缓存起来,master节点执行RDB持久化完后,master将RDB快照文件和所有缓存的命令发送到slave,已完成一次完全同步

slave服务器在收到数据库文件数据后,将其存盘并加载到内存中,从而完成复制初始化

心跳持续,保持通信

master发出PING包的周期,默认是10

进入平稳,增量复制

Master继续将新的所有收集到的修改命令自动依次传给slave,完成同步

从机下线,重连续传

Master会检查backlog里面的offset,master和slave都会保存一个复制的offset还有一个masterId,offset是保存在backlog中的。Master只会把已经复制的offset后面的数据复制给Slave,类似断点续传

复制缺点

复制延时,信号衰减

由于所有的写操作都是先在Master上操作,然后同步更新到Slave上,所以从Master同步到Slave机器有一定的延迟,当系统很繁忙的时候,延迟问题会更加严重,Slave机器数量的增加也会使这个问题更加严重

                        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        

master挂了怎么办

默认情况下,不会在slave节点中自动重选一个master,那么都要人工干预呢?无人值守变成刚需,那么我们请静等下集:哨兵!!!

这篇关于最新Redis7主从复制(保姆级教程)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/500389

相关文章

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

Makefile简明使用教程

文章目录 规则makefile文件的基本语法:加在命令前的特殊符号:.PHONY伪目标: Makefilev1 直观写法v2 加上中间过程v3 伪目标v4 变量 make 选项-f-n-C Make 是一种流行的构建工具,常用于将源代码转换成可执行文件或者其他形式的输出文件(如库文件、文档等)。Make 可以自动化地执行编译、链接等一系列操作。 规则 makefile文件

Andrej Karpathy最新采访:认知核心模型10亿参数就够了,AI会打破教育不公的僵局

夕小瑶科技说 原创  作者 | 海野 AI圈子的红人,AI大神Andrej Karpathy,曾是OpenAI联合创始人之一,特斯拉AI总监。上一次的动态是官宣创办一家名为 Eureka Labs 的人工智能+教育公司 ,宣布将长期致力于AI原生教育。 近日,Andrej Karpathy接受了No Priors(投资博客)的采访,与硅谷知名投资人 Sara Guo 和 Elad G

Centos7安装JDK1.8保姆版

工欲善其事,必先利其器。这句话同样适用于学习Java编程。在开始Java的学习旅程之前,我们必须首先配置好适合的开发环境。 通过事先准备好这些工具和配置,我们可以避免在学习过程中遇到因环境问题导致的代码异常或错误。一个稳定、高效的开发环境能够让我们更加专注于代码的学习和编写,提升学习效率,减少不必要的困扰和挫折感。因此,在学习Java之初,投入一些时间和精力来配置好开发环境是非常值得的。这将为我

秋招最新大模型算法面试,熬夜都要肝完它

💥大家在面试大模型LLM这个板块的时候,不知道面试完会不会复盘、总结,做笔记的习惯,这份大模型算法岗面试八股笔记也帮助不少人拿到过offer ✨对于面试大模型算法工程师会有一定的帮助,都附有完整答案,熬夜也要看完,祝大家一臂之力 这份《大模型算法工程师面试题》已经上传CSDN,还有完整版的大模型 AI 学习资料,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

AI Toolkit + H100 GPU,一小时内微调最新热门文生图模型 FLUX

上个月,FLUX 席卷了互联网,这并非没有原因。他们声称优于 DALLE 3、Ideogram 和 Stable Diffusion 3 等模型,而这一点已被证明是有依据的。随着越来越多的流行图像生成工具(如 Stable Diffusion Web UI Forge 和 ComyUI)开始支持这些模型,FLUX 在 Stable Diffusion 领域的扩展将会持续下去。 自 FLU

SWAP作物生长模型安装教程、数据制备、敏感性分析、气候变化影响、R模型敏感性分析与贝叶斯优化、Fortran源代码分析、气候数据降尺度与变化影响分析

查看原文>>>全流程SWAP农业模型数据制备、敏感性分析及气候变化影响实践技术应用 SWAP模型是由荷兰瓦赫宁根大学开发的先进农作物模型,它综合考虑了土壤-水分-大气以及植被间的相互作用;是一种描述作物生长过程的一种机理性作物生长模型。它不但运用Richard方程,使其能够精确的模拟土壤中水分的运动,而且耦合了WOFOST作物模型使作物的生长描述更为科学。 本文让更多的科研人员和农业工作者

沁恒CH32在MounRiver Studio上环境配置以及使用详细教程

目录 1.  RISC-V简介 2.  CPU架构现状 3.  MounRiver Studio软件下载 4.  MounRiver Studio软件安装 5.  MounRiver Studio软件介绍 6.  创建工程 7.  编译代码 1.  RISC-V简介         RISC就是精简指令集计算机(Reduced Instruction SetCom

前端技术(七)——less 教程

一、less简介 1. less是什么? less是一种动态样式语言,属于css预处理器的范畴,它扩展了CSS语言,增加了变量、Mixin、函数等特性,使CSS 更易维护和扩展LESS 既可以在 客户端 上运行 ,也可以借助Node.js在服务端运行。 less的中文官网:https://lesscss.cn/ 2. less编译工具 koala 官网 http://koala-app.

【Shiro】Shiro 的学习教程(三)之 SpringBoot 集成 Shiro

目录 1、环境准备2、引入 Shiro3、实现认证、退出3.1、使用死数据实现3.2、引入数据库,添加注册功能后端代码前端代码 3.3、MD5、Salt 的认证流程 4.、实现授权4.1、基于角色授权4.2、基于资源授权 5、引入缓存5.1、EhCache 实现缓存5.2、集成 Redis 实现 Shiro 缓存 1、环境准备 新建一个 SpringBoot 工程,引入依赖: