Redis学习;Redis主从复制

2023-11-15

主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(Master/Leader),后者称为从节点(Slave/Follower), 数据的复制是单向的!只能由主节点复制到从节点(主节点以写为主、从节点以读为主)。

刚开始大家都是主机,现在要搞从机

slaveof host port

默认情况下,每台Redis服务器都是主节点,一个主节点可以有0个或者多个从节点,但每个从节点只能由一个主节点。

作用:

  • 数据冗余:主从复制实现了数据的热备份,是持久化之外的一种数据冗余的方式。
  • 故障恢复:当主节点故障时,从节点可以暂时替代主节点提供服务,是一种服务冗余的方式
  • 负载均衡:在主从复制的基础上,配合读写分离,由主节点进行写操作,从节点进行读操作,分担服务器的负载;尤其是在多读少写的场景下,通过多个从节点分担负载,提高并发量。
  • 高可用基石:主从复制还是哨兵和集群能够实施的基础。

环境配置
我们在讲解配置文件的时候,注意到有一个replication模块 (见Redis.conf中第8条)

查看当前库的信息:info replication

127.0.0.1:6379> info replication
# Replication
role:master # 角色
connected_slaves:0 # 从机数量
master_replid:3b54deef5b7b7b7f7dd8acefa23be48879b4fcff
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

既然需要启动多个服务,就需要多个配置文件。每个配置文件对应修改以下信息:

端口号
pid文件名
日志文件名
rdb文件名
启动单机多服务集群:

一主二从配置
==默认情况下,每台Redis服务器都是主节点;==我们一般情况下只用配置从机就好了!

从节点去做4对应主节点 一主(79)二从(80,81)

使用SLAVEOF host port就可以为从机配置主机了。

除了命令和设置密码一样,我们可以在配置文件去设置,这样就是只要不改从机的配置文件,一直是设置主机的从机

在这里插入图片描述
使用规则:

  1. 从机只能读,不能写,主机可读可写但是多用于写。
  2. 当主机断电宕机后,默认情况下从机的角色不会发生变化 ,集群中只是失去了写操作,当主机恢复以后,又会连接上从机恢复原状。
  3. 当从机断电宕机后,若不是使用配置文件配置的从机,再次启动后作为主机是无法获取之前主机的数据的,若此时重新配置称为从机,又可以获取到主机的所有数据。这里就要提到一个同步原理。
  4. 第二条中提到,默认情况下,主机故障后,不会出现新的主机,有两种方式可以产生新的主机,一个是手动执行命令指定一个从机做主机,一个是哨兵模式自动选举出一个:

(1)从机手动执行命令slaveof no one,这样执行以后从机会独立出来成为一个主机
(2)使用哨兵模式(自动选举)

如果主机断开了连接,我们可以使用SLAVEOF no one让自己变成主机!其他的节点就可以手动连接到最新的主节点(手动)!如果这个时候老大修复了,那么久重新连接!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Redis学习;Redis主从复制 的相关文章

随机推荐

  • 无法启动此程序,因为计算机中丢失QT5Core.dll

    背景 QT项目从QTCreator移植到VS2010中时出现这个问题 原因 在Qt Creator中运行时会根据你当前选择的构建套件生成一套自己的环境变量 这套环境变量与当前电脑的环境变量的差别是添加了Qt库的引用路径 所以在Creator
  • 取余运算的规则

    取余运算满足以下规则 x y p x p y p p 证明如下 假设 x a p b y c p d 则 x p b y p d 则 x y p a p b c p d p a c p b d p b d p x p y p p
  • JAVASE总复习

    一 填空题 共 20 个题目 总计 20 分 1 Java application 中的主类需要包含 main 方法 main 方法的返回类型是void 2 移位运算符可以起到对操作数乘以 2 或者除以 2 的作用 那么操作数除以 2 的移
  • shader练习中遇到的问题点

    half3 lrDirWS normalize reflect lDirWS nDirWS 不加normalize会有白点点 1 max 0 ndotv 模型上会出现黑点点 max 0 1 ndotv 模型上不会出现黑点点
  • Spirng的事务 方法A调用方法B,事务是否失效

    Springboot开启了事务的方法调用没有事务的方法 提示 上方标题是一个很笼统的场景 详情展开如下 先说结论 总结 方法A调用方法B 场景一 如果A和B方法在同一个类中 如果A加 Transactional注解 B加不加 Transac
  • 看完这篇 教你玩转渗透测试靶机vulnhub——FunBox1

    Vulnhub靶机FunBox1渗透测试详解 Vulnhub靶机介绍 Vulnhub靶机下载 Vulnhub靶机安装 Vulnhub靶机漏洞详解 信息收集 暴力破解 ssh登入 提权 获取flag Vulnhub靶机渗透总结 Vulnhub
  • Golang CLI框架介绍

    网址 https github com mitchellh cli 功能 该框架是个人开发的命令行程序框架 作者还成立了公司 HashiCorp 其公司的产品也采用这个CLI框架 解读 框架的思路是 把命令和执行方法以map的形式记录在内部
  • 命令查看被占用端口号,并杀死进程

    1 win R 输入cmd回车打开命令窗口 2 查看所有端口 命令 netstat an 3 查看单个端口号是否被占用 netstat ano findstr 8080 最后一列是占用端口对应的进程号 4 查看进程号对应的进程名称 task
  • 关于对比损失(contrasive loss)的理解(相似度越大越相似的情况):

    def contro loss self 总结下来对比损失的特点 首先看标签 然后标签为1是正对 负对部分损失为0 最小化总损失就是最小化类内损失 within loss 部分 让s逼近margin的过程 是个增大的过程 标签为0是负对 正
  • gitee的一些常用命令

    Gitee 是一个基于 Git 的代码托管和协作平台 提供了一些常用的命令来完成代码的管理和协作 以下是一些常见的 Gitee 命令 克隆远程仓库到本地 Copy Codegit clone lt 远程仓库地址 gt 将本地代码提交到远程仓
  • Matlab

    目录 摘要 一 电力负荷数据导入 二 输入输出数据归一化 三 建立和训练BP神经网络 四 使用测试数据进行负荷预测 五 Matlab代码实现 摘要 使用BP神经网络实现简单的电力负荷回归预测任务 主要的步骤为 导入数据 数据归一化 建立BP
  • Linux中级实战专题篇三:nginx服务(日志介绍,作用域,格式定义,流量控制,访问控制模块,用户信任登录)

    Nginx 日志配置 1 Nginx 日志介绍 Nginx 有一个非常灵活的日志记录模式 每个级别的配置可以有各自独立的访问日志 所需日志模块 ngx http log module 的支持 日志格式通过 log format 命令来定义
  • NP完全问题的证明-算法概论课后习题8.15

    题目 证明如下问题是NP 完全的 输入 两个图G1 V1 E1 和G2 V2 E2 预算b 输出 两个节点集合V1 V1 和V2 V2和它们被移除后 将在两图中分别留下至少b个节点 且图的剩余部分完全一样 解析 可将最大独立集问题归约到此问
  • 多态原理探究

    概念 当类中声明虚函数时 编译器会在类中生成一个虚函数表 虚函数表是一个存储类成员函数指针的数据结构 虚函数表是由编译器自动生成与维护的 virtual成员函数会被编译器放入虚函数表中 当存在虚函数时 每个对象中都有一个指向虚函数表的指针
  • FFmpeg简介及在vc2010下编译步骤

    FFmpeg是一个开源的多媒体库 最新版本是2 4 3 它的License是LGPL或GPL FFmpeg可以用来记录 转换数字音频 视频 并能将其转换为流的开源计算机程序 它包括了音 视频编码库libavcodec FFmpeg是在Lin
  • [mmdetection 混合精度]用fastrcnn实测混合精度fp16效果2

    用官方检测工具测试 平均时间 0 0947 0 1298 0 72958 map比较 faster rcnn r50 fpn 1x coco py fp16训练后map 结论 map下降不明显 但平均训练时间降低了27 fp16还是很好的
  • uni-app混合开发中的链接跳转navigateTo、reLaunch、redirectTo、switchTab区别

    1 navigateTo 保留当前页面 跳转到应用内的某个页面 使用uni navigateBack可以返回到原页面 要注意的是navigateTo只能跳转的应用内非 tabBar 的页面的路径 路径后可以带参数 如果跳转url参数为tab
  • kubeadm 安装 kubernetes 1.4.6

    kubeadm 安装 kubernetes 1 4 6 准备 安装docker 下载镜像 安装kubernetes 安装kubernetes dashbord 准备 机器名 ip centos7 kubermaster 192 168 10
  • C语言入门--3x3转置矩阵

    题目 答题思路 我这里使用的是两个多维数组 因此此段代码仅需修改输入部分既可用于多种对称矩阵的转置 第一个多维数组用于记录原始的矩阵排列 第二个多维数组用于记录转置后的矩阵排列 我的思路很简单 先将右上角的数交换到左下角 本人非数学专业 专
  • Redis学习;Redis主从复制

    主从复制 是指将一台Redis服务器的数据 复制到其他的Redis服务器 前者称为主节点 Master Leader 后者称为从节点 Slave Follower 数据的复制是单向的 只能由主节点复制到从节点 主节点以写为主 从节点以读为主