redis 主从复制

在这里插入图片描述
配从不配主

  1. 主要开启密码 在redis.conf requirepass xxxx
    在这里插入图片描述
  2. 在从机配置
    在这里插入图片描述

查看主从关系

在主机或从机执行
info replication

注意点

  1. 从机可以读,但没有写的权限
  2. 主从机同时启动, 主机写一个命令,从机复制一个命令 主机开启动,写入命令,从机在启动, 会把之前主机命令全部复制,之后主机写入一个命令,从机复制一个命令。
  3. 主机宕机之后,从机不会自动变成主机。
  4. 从机配置在redis.cnf, 重启仍然生效
  5. slave 主机IP 主机端口号, 本次生效, 重启从机 ,就失效了。
  6. slave 主机IP 主机端口号,每次与master断开只会,都需要重新连接,除非配置在redis.conf文件,在运行期间修改slave节点的信息,如果该数据库已经是某个主数据库的从数据库,那么会停止和原主数据库的同步关系**转而和新的主数据库同步
  7. 薪火相传,A主机下面挂载一个B从机, 同时B从机下面又挂载一个C从机, A是master B是slave ,C是slave,B虽然是C的master,但整体它依然是slave机。 不能写操作。但这样比Amaster下面挂载BC两个从机, 可以减少Amaster的写压力。
slaveof no one

当前的从机变成主机。 但原来复制的数据还在。

主从复制的原理

1、slave启动,同步初请
slave启动成功连接到master后会发送一个sync命令
slave首次全新连接master,一次完全同步(全量复制)将自动执行,slave自身原有的数据会被master数据覆盖清除
2、首次连接,全量复制
master节点收到sync命令后开始在后台保持快照(RDB持久化,主从复制时会触发RDB)
同时收集所有接受到的用于修改数据集命令缓存起来,master节点执行RDB持久化完后,
master将rdb快照文件和所有缓存的命令发送到所有slave,以完成一次完全同步
而slave服务在接收到数据库文件数据后,将其存盘并加载到内存中,从而完成复制初始化
3、心跳持续,保持通信
master发出ping包的周期,默认是10秒
在redis.conf repl-ping-replica-period 10
4、进入平稳,增量复制
master继续将新的所有收集到的修改命令自动依次传给slave,完成同步
5、从机下线,重连续传
master会检查backlog里面的offset,master和slave都会保存一个复制的offset还有一个masterid,offset是保存在backlog中的。Master只会把已经复制到的offset后面的数据复制给slave,类似断点续传

主从复制的缺点

1.

默认情况下,主机宕机,从机不会自动变成主机,需要人工干预。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

selenium-webdriver-Chrome新驱动地址(Chrome115及以上版本)

Chrome115、Chrome116、Chrome117,在旧的链接并没有 新地址:https://googlechromelabs.github.io/chrome-for-testing/ 参考学习链接(我也是根据这个老师的链接学到的):https://www.cnblogs.com/wuxianfeng023/p/1765…

在QGIS中给矢量数据属性编号的一种方法

目录 写在文章前 一、给要素编号用哪些功能 二、实现一个最简单的编号 1.数据准备 2.编辑字段计算器表达式 3.查看编号结果 三、更加复杂的编号 1.使用UUID编号 2.根据单个属性排序后编号 3.根据多个属性排序后编号 4.拼接字符串进行编号 5.根据时间编号及实现 写在…

NodeJs中使用JSONP和Cors实现跨域

跨域是为了解决浏览器请求域名,协议,端口不同的接口,相同的接口是不需要实现跨域的。 1.使用JSONP格式实现跨域 实现步骤 动态创建一个script标签 src指向接口的地址 定义一个函数和后端调用的函数名一样 实现代码 -- 在nodejs中使用http内…

机器学习-数学基础

线性代数 关键词:线性方程组、矩阵、增广矩阵(系数矩阵、常数项矩阵)、阶梯型矩阵、行最简矩阵、最简形矩阵、向量系统、向量加法、向量空间、基本单位向量、线性相关、线性无关、Span张成空间、 向量乘法(点积、内积、外积、叉积…

竞赛 深度学习 python opencv 火焰检测识别

文章目录 0 前言1 基于YOLO的火焰检测与识别2 课题背景3 卷积神经网络3.1 卷积层3.2 池化层3.3 激活函数:3.4 全连接层3.5 使用tensorflow中keras模块实现卷积神经网络 4 YOLOV54.1 网络架构图4.2 输入端4.3 基准网络4.4 Neck网络4.5 Head输出层 5 数据集准备5.1 数…

nginx服务---2

如何统计连接数,以及根据域名配置虚拟主机 cd /usr/local/nginx/conf vim nginx.conf server {listen 80;server_name www.abc.com;charset utf-8;access_log logs/www.abc.com;error_log logs/www.abc.error.log;location / {root /var/www/html/zzr;in…

elementUI el-table+树形结构子节点选中后没有打勾?(element版本问题 已解决)

问题 1.不勾选父级CB111,直接去勾选子级(ST2001…),子级选中后没有打勾显示 排查 一直以为是这个树形结构和表格不兼容产生的问题,到后来看官方demo都是可以勾选的,最后排查到了版本问题, 项…

CDN:加速型与高防型的不同

网络世界中的 CDN,也就是内容分发网络(Content Delivery Network),是当今互联网体验的潜在改变者。它的作用原理可不止于让网页快一点,让我们深入了解一下。 CDN基本原理是通过在世界各地分布的节点服务器,…

Andriod学习笔记(一)

写在前面的话 App开发的编程语言Java和KotlinXML App连接的数据库App工程目录结构模块级别的编译配置文件清单文件 界面显示与逻辑处理 安卓是一种基于Linux内核的自由及开放源代码的操作系统,主要使用于移动设备。 Mininum SDK表示安卓该版本以上的设备都可以运行该…

Linux部署kubeedge 1.4

文章目录 一、机器信息二、环境准备(所有节点操作)2.1. 修改主机名2.2. 开启路由转发2.3.安装Docker(所有节点)2.4.部署K8S集群(单机版,云端节点) 2.5.安装Mosquitto(只在边缘节点安装)三、安装kubeedge 1.…

Linux网络和系统管理

网络管理命令 1、ifconfig 命令 作用 ifconfig 命令用于显示或设置网络设备的信息。格式 ifconfig [网卡名字] [参数]可选项 网卡名字:指定要操作的网络设备。参数: up:启动指定网卡。down:关闭指定网卡。-a:显示所有网卡接口的信息,包括未激活的网卡接口。使用示例 1…

干货:如何在前端统计用户访问来源?

在前端统计用户访问来源是一个常见的需求,通过获取访问来源信息,我们可以了解用户是通过直接访问、搜索引擎、外部链接等途径进入我们的网站或应用。下面是一个详细的介绍,包括方法和实现步骤。 一、获取HTTP Referer HTTP Referer是HTTP请…