Redis6 主从复制

news2025/7/7 3:24:01

Redis6 主从复制

  • 1. 什么是主从复制
  • 2. 能做什么
  • 3. 配置1主2从
    • 3.1 配置
    • 3.2 启动redis
    • 3.3 配置主从关系
  • 4.常见问题
    • 4.1 一主二仆
  • 5. 主从复制原理
  • 6. 薪火相传
  • 7. 反客为主

1. 什么是主从复制

主机数据更新后根据配置和策略, 自动同步到备机的master/slaver机制,Master以写为主,Slave以读为主

2. 能做什么

  1. 读写分离,性能扩展
  2. 容灾快速恢复
    在这里插入图片描述

3. 配置1主2从

3.1 配置

拷贝多个redis.conf文件include(写绝对路径)
开启daemonize yes
Pid文件名字pidfile
指定端口port
Log文件名字  不重要可以不写
dump.rdb名字dbfilename
Appendonly 关掉或者换名字
  1. 创建/myredis 文件夹

  2. 复制redis.conf配置文件到文件夹中
    在这里插入图片描述
    在这里插入图片描述

  3. 配置一主两从,创建三个配置文件
    redis6379.conf
    redis6380.conf
    redis6381.conf

  4. 在三个配置文件中写入内容

include /myredis/redis.conf
pidfile /var/run/redis_6379.pid
port 6379
dbfilename dump6379.rdb

在这里插入图片描述
在这里插入图片描述
其余两个也是一样的,但是端口号什么要修改
在这里插入图片描述

3.2 启动redis

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.3 配置主从关系

info replication 打印主从复制的相关信息

先通过端口号连接redis服务器
在这里插入图片描述
在这里插入图片描述
可以看到是master主机,三个都是主机。

slaveof <ip><port>
成为某个实例的从服务器

配置从机:
在6380和6381上执行: slaveof 127.0.0.1 6379

4.常见问题

4.1 一主二仆

  1. 切入点问题?slave1、slave2是从头开始复制还是从切入点开始复制?比如从k4进来,那之前的k1,k2,k3是否也可以复制?
    从头开始复制

  2. 从机是否可以写?set可否? 不可写

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

  4. 主机又回来了后,主机新增记录,从机还能否顺利复制?

  5. 其中一台从机down后情况如何?依照原有它能跟上大部队吗? 会自动变成主服务器,但是是自己不是在群组中

5. 主从复制原理

  1. Slave启动成功连接到master后会发送一个sync命令
  2. Master接到命令启动后台的存盘进程,同时收集所有接收到的用于修改数据集命令, 在后台进程执行完毕之后,master将传送整个数据文件到slave,以完成一次完全同步
  3. 全量复制:而slave服务在接收到数据库文件数据后,将其存盘并加载到内存中。
  4. 增量复制:Master继续将新的所有收集到的修改命令依次传给slave,完成同步
  5. 但是只要是重新连接master,一次完全同步(全量复制)将被自动执行
    在这里插入图片描述

6. 薪火相传

上一个Slave可以是下一个slave的Master,Slave同样可以接收其他 slaves的连接和同步请求,那么该slave作为了链条中下一个的master, 可以有效减轻master的写压力,去中心化降低风险。

用 slaveof <ip><port>
中途变更转向:会清除之前的数据,重新建立拷贝最新的
风险是一旦某个slave宕机,后面的slave都没法备份
主机挂了,从机还是从机,无法写数据了
在这里插入图片描述

7. 反客为主

当一个master宕机后,后面的slave可以立刻升为master,其后面的slave不用做任何修改。
slaveof no one 将从机变为主机。
在这里插入图片描述

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

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

相关文章

C++--数据结构--最短路径--Dijkstra--Bellman-Ford算法--Floyd-Warshall算法--高阶0713 14

注&#xff1a;本篇所用的某些未在本文中实现的函数&#xff0c;或不明确的类&#xff0c;均在上篇博客中有详细过程&#xff0c;因篇幅问题不再赘述。 C--数据结构--图的相关概念及模拟实现--高阶0712_Gaze&#xff01;的博客-CSDN博客 1. Dijkstra算法 Dijkstra算法需要开辟…

spring-boot 接收form表单 多文件加多字段数据(postman在form-data格式下传数组和集合)

前言 该博客多用于记录自己的问题 在写项目的时候遇到这种业务情况&#xff1a; 需要保存整个页面的数据&#xff0c;数据包含多个字段信息和多个文件 结合网上的处理思路&#xff0c;我最终实现了这种业务需求并整理一下 前端单独提交字段和文件比较方便简单&#xff0c;本人…

带你读AI论文丨针对文字识别的多模态半监督方法

摘要&#xff1a;本文提出了一种针对文字识别的多模态半监督方法&#xff0c;具体来说&#xff0c;作者首先使用teacher-student网络进行半监督学习&#xff0c;然后在视觉、语义以及视觉和语义的融合特征上&#xff0c;都进行了一致性约束。本文分享自华为云社区《一种针对文字…

构建高性能内存队列:Disruptor

1、 背景 Java中有哪些队列 ArrayBlockingQueue 使用ReentrantLock LinkedBlockingQueue 使用ReentrantLock ConcurrentLinkedQueue 使用CAS 等等 我们清楚使用锁的性能比较低&#xff0c;尽量使用无锁设计。接下来就我们来认识下Disruptor。 2、Disruptor简单使用 github地…

Web3中文|可判115年监禁的FTX创始人SBF即将被引渡到美国

巴哈马总检察长办公室在宣布逮捕FTX前CEO Sam Bankman-Fried时&#xff0c;指出他很可能应美国要求被引渡。 一个多星期后&#xff0c;美国广播公司新闻报道称 &#xff0c;SBF于12月20日签署了引渡文件。 另据彭博社12月20日的一份报告称&#xff0c;该交易所创始人SBF于12月…

Centos7安装配置Minio

Background 官方下载地址&#xff1a;https://github.com/minio/minio/releases 这里给出本次使用的一个版本&#xff1a;minio-2021-05-11T23:27:41Z&#xff0c;提取码&#xff1a;king 1、下载minio文件夹 其他的版本的相关命令可能发生变化&#xff0c;这里只是针对我提供…

基于GIS的生态安全格局构建之生态阻力面的建立

GIS前沿 一、数据来源介绍 &#xff08;一&#xff09;土地利用数据 土地利用数据来自国土资源三次调查数据&#xff08;2018年&#xff09;&#xff0c;根据研究需要对其进行分析处理。 &#xff08;二&#xff09;生态安全等级数据 利用对从生态属性和生态干扰两方面选择的…

Junit5 + YAML 轻松实现参数化和数据驱动,让 App 自动化测试更高效(一)

登录&#xff1a;不同的用户名&#xff0c;不同的密码&#xff0c;不同的组合都需要做登录场景的测试&#xff0c;正常的排列组合下可能会产生多个用例 搜索&#xff1a;不同的搜索条件产生不同的搜索结果&#xff0c;搜索也是常见的测试项&#xff0c;单个搜索参数或者多种搜…

Java---正则表达式

目录 一、正则表达式的介绍 二、正则表达式的基本语法 &#xff08;1&#xff09;字符类 &#xff08;2&#xff09;预定义符 &#xff08;3&#xff09;数量词 三、正则表达式的具体实例 &#xff08;1&#xff09;判断电话号码是否符合规则 &#xff08;2&#xff09;…

git push踩坑记录【看注意事项】

记录一次git push的踩坑过程&#xff08;详细在注意事项里&#xff0c;列出了具体的解决办法&#xff09;。 push远程仓库命令 使用命令 git init git add . git commit -m "提交说明写在这里" git remote add origin gitgithub.com:xxx/surgical-robot.git git p…

4、常用类和对象

文章目录4、常用类和对象4.1 Object4.2 数组4.3 二维数组4.4 二维数组 九层妖塔4.5 冒泡排序4.6 选择排序4.7 二分法查找4.8 字符串4.9 字符串拼接4.10 字符串比较4.11 字符串截断4.12 字符串替换4.13 字符串大小写转换4.14 字符串查询4.15 StringBuilder4.16 包装类4.17 日期类…

windows环境下python和gdal绑定方法

作者:朱金灿 来源:clever101的专栏 为什么大多数人学不会人工智能编程?>>> 编译和安装gdal 此篇介绍的方法并不需要用到pip工具,可依据自己编译的gdal库来灵活绑定。 安装gdal主要是设置两个环境变量:一是gdal的动态库路径加入到path环境变量下,如下图: 二是…

vim的常规操作

Linux系统内置vi文本编辑器&#xff0c;vim是vi的增强版 vi和vim的三种模式 正常模式&#xff1a;默认模式&#xff0c;可以使用“上下左右”键来移动光标&#xff0c;也可以用删除、复制、粘体等功能插入模式&#xff1a;按i,I,o,O,a,A,r,R等任何一个字母进入命令行模式&…

django logging的StreamHandler的一个小用法

首先先了解下&#xff0c;logging的大致结构&#xff0c;它有一个内置处理器&#xff0c;还有一个django提供的内置记录器。基本上&#xff0c;日志模块就是由这俩组成的&#xff0c;他俩的关系&#xff0c;有点水渠理论的意思。就是说&#xff0c;处理器&#xff0c;和记录器&…

MCU-51:独立按键控制LED灯的动作

目录一、独立按键二、独立按键控制LED亮灭二、消除按键抖动2.1 按键的抖动2.2 控制LED灯状态-消除按键抖动三、独立按键控制LED显示二进制四、独立按键控制LED灯移位一、独立按键 轻触按键&#xff1a;相当于是一种电子开关&#xff0c;按下时开关接通&#xff0c;松开时开关断…

微服务技术--认识微服务

技术栈&#xff1a; 认识微服务 服务架构演变 单体架构 将业务的功能集中在一个项目中开发&#xff0c;打成一个包部署优点&#xff1a; 架构简单部署成本低 缺点&#xff1a; 耦合度高 分布式架构 根据业务功能对系统进行拆分&#xff0c;每个业务模块作为独立项目开发&…

黑盒测试用例设计 - 场景法

原理 现在的软件几乎都是用时间触发来控制流程的。测试时&#xff0c;可以以生动的描述出触发时的情景&#xff0c;有利于设计测试用例&#xff0c;同时使测试用例更容易理解和执行。基本流&#xff1a;软件功能按照正确的事件流实现的一条正确流程。通常一个业务仅存在一个基…

[洛谷]P2234 [HNOI2002]营业额统计

[洛谷]P2234 [HNOI2002]营业额统计一、问题描述题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1提示二、问题分析1、算法标签2、思路分析三、代码实现一、问题描述 [洛谷]P2234 [HNOI2002]营业额统计 题目描述 Tiger 最近被公司升任为营业部经理&#xff0c;他上任后…

微服务系列 - Zookeeper下篇:源码解析

前言 关于zookeeper的入门到精通请阅读&#xff1a;微服务系列 - Zookeeper上篇 注&#xff1a;本内容仅用于个人学习笔记&#xff0c;如有侵扰&#xff0c;联系删除 参考文档&#xff1a;https://blog.csdn.net/mjb740074431/article/details/120173792 一、算法基础 Zook…

@Configuration注解

1.作用 Configuration注解的作用&#xff1a;声明一个类为配置类&#xff0c;用于取代bean.xml配置文件注册bean对象。 2.基础运用 Configuration注解最常见的搭配使用有两个&#xff1a;Bean和Scope Bean&#xff1a;等价于Spring中的bean标签用于注册bean对象的&#xff…