尚硅谷redis7 55-57 redis主从复制之理论简介

55 redis主从复制之理论简介

定义

Redis 主从复制(Master-Slave Replication)是 Redis 提供的一种数据冗余和高可用机制,可以让一个 Redis 主节点的数据复制到一个或多个从节点,实现读写分离容灾备份等功能。

  • 主节点(Master)

    • 支持读写操作。

    • 会将写操作传播到所有从节点。

  • 从节点(Slave)

    • 只能读,默认不支持写(除非配置为可写)。

    • 会从主节点同步数据,保持一致。

主从复制,master以写为主,Slave以读为主.当master数据变化的时候,自动将新的数据异步同步到其它slave数据库。

作用

  • 读写分离
  • 容灾恢复
  • 数据备份
  • 水平扩容支撑高并发

怎么玩

配从库不配主库:只在从库上配置主从关系,从库自动连接主库。你不需要在主库上做任何配置,只需要在从库上配置主节点的地址和端口,Redis 就能建立主从同步。

权限细节:在从库上配置主节点的地址和端口,Redis 就能建立主从同步。

master如果配置了requirepass参数【主节点开启了密码认证】,需要密码登陆那么slave就要配置masterauth来设置校验密码,否则的话master会拒绝slave的访问请求。masterauth 是 Redis 从节点连接主节点时用的认证信息。

基本操作命令

info replication       

        建立主从关系后,可以查看复制节点的主从关系和配置信息

replicaof 主库IP 主库端口

        建立主从复制关系。一般写入redis.conf配置文件内。当前 Redis 实例会连接到指定的主节点,开始全量同步,并接收写入命令的同步。例如:REPLICAOF 127.0.0.1 6379


slaveof 主库IP 主库端口

        建立主从复制关系,但每次与master断开之后,都需要重新连接,除非你配置进redis.conf文件【使用replicaof】
        用于在运行期间修改slave节点的信息。如果该数据库已经是某个主数据库的从数据库,那么会停止和原主数据库的同步关系转而和新的主数据库同步,重新拜码头

slaveof no one

        取消当前 Redis 实例的从库身份,使其退回为主库(master)。停止从其他主库同步数据。这在主库宕机后,手动切换从库为主库时很有用。

52 redis主从复制之演示架构

一个Master两个Slave:3台虚机,每台都安装redis

拷贝多个redis.conf文件:redis6379.conf、redis6380.conf、redis6381.conf

前提:三边网络相互ping通且注意防火墙配置

三大命令

主从复制:在从库配置的redis.conf文件中配置 replicaof 主库IP 主库端口

改换门庭:若在配置文件中写好了要复制的主库,此时想改复制的主库。可以使用slaveof 新主库IP 新主库端口

自立为王:取消当前 Redis 实例的从库身份,使其退回为主库(master)

57 redis主从复制之配置细节

修改配置文件细节操作

redis6379.conf为例,步骤【前提将redis.conf文件复制到/myredis下】

1. 开启daemonize yes
2. 注释掉bind 127.0.0.1
3. protected-mode no
4.指定端口 port 6379

        【在操作系统层面,一个端口(比如 6379)在同一台机器上只能被一个 Redis 实例绑定。因此从机,主机 的端口号不能相同。】

5. 指定当前工作目录,dir /myredis
6. pid文件名字,pidfile   默认的不需要修改
7.log文件改名字,logfile "/myredis/6379.log"      
8. 设置requirepass 开启密码认证
9. 改dump.rdb名字
10.开启aof  aof文件,appendfilename【步骤可选非必须】
11. 从机访问主机的通行密码masterauth,必须【仅需从机配置】

从机配置

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

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

相关文章

CarPropertyService 介绍

目录 1. CarPropertyService 基本介绍 1.1 CarPropertyService 结构图 1.2 CarPropertyService 的定义与实现 1.3 CarPropertyManager 与 CarPropertyService 2. PropertyHalService 与 CarPropertyService 3. CarPropertyService 的重要接口介绍 3.1 CarPropertyServi…

JavaScript 性能优化按层次逐步分析

JavaScript 性能优化实战 💡 本文数据基于Chrome 136实测验证,涵盖12项核心优化指标,通过20代码案例演示性能提升300%的实战技巧。 一、代码层深度优化 1. 高效数据操作(百万级数据处理) // 不良实践:频繁…

【东枫科技】基于Docker,Nodejs,GitSite构建一个KB站点

Docker 安装桌面版本,安装Node镜像 运行node镜像 需求 和外部的某个文件夹地址可以绑定端口可以绑定,方便server的访问 docker run -itd --name node-test -v C:/Users/fs/Documents/GitHub:/home/node -p 3000:3000 node进入终端 docker exec -it …

【小白AI教程】大模型知识扫盲通识

目录 一、究竟什么是大模型 二、大模型的两大分支 2.1 在线大模型 2.2 开源大模型 2.3 大模型的应用 利用行业知识重新训练AI大模型 利用行业知识对AI大模型进行微调 利用行业知识建立知识库 三、Reasoning 大模型 3.1 基本概述 3.2 核心概念 3.3 技术实现 3.4 应…

测试 Gemini Pro 2.5

好的,我已经明白了您的需求。您希望: 增大概览消息(Toast)的尺寸:使其更加醒目。消息持久性:当在用户中心内部切换不同标签页(例如从“个人信息”切换到“安全设置”)时&#xff0c…

大模型——MCP 深度解析

MCP 深度解析 套用一句关于幺半群的名言:"MCP 是一种开放协议,用于标准化应用程序向 LLM 提供上下文的方式,问题何在?"但即使花数小时阅读 MCP 的定义并实操示例,仍难以清晰把握其具体运作流程:LLM 负责什么?MCP 服务器做什么?MCP 客户端的角色是什么?数据…

使用 scikit-learn 库对乌克兰冲突事件数据集进行多维度分类分析

使用scikit-learn库对乌克兰冲突事件数据集进行多维度分类分析 背景 在现代冲突研究中,对冲突事件进行多维度分析和可视化可以帮助我们更好地理解冲突的模式、趋势和影响因素。本次作业将使用开源冲突数据,构建一个完整的机器学习分类流程,…

工作流 x 深度学习:揭秘蓝耘元生代如何用 ComfyUI 玩转 AI 开发

目录 一、从 “代码噩梦” 到 “积木游戏”:我与工作流的初次碰撞 二、深度学习:复杂而迷人的 “数字迷宫” (一)深度学习的神秘面纱 (二)深度学习的发展历程 (三)深度学习面临…

《软件工程》第 14 章 - 持续集成

在软件工程的开发流程中,持续集成是保障代码质量与开发效率的关键环节。本章将围绕持续集成的各个方面展开详细讲解,结合 Java 代码示例与可视化图表,帮助读者深入理解并实践相关知识。 14.1 持续集成概述 14.1.1 持续集成的相关概念 持续集…

1992-2021年各省工业增加值数据(无缺失)

1992-2021年各省工业增加值数据(无缺失) 1、时间:1992-2021年 2、来源:国家统计局、统计年鉴 3、指标:工业增加值 4、范围:31省 5、缺失情况:无缺失 6、指标说明:工业增加值是…

Android15 Camera Hal设置logLevel控制日志输出

这里说明三个内容 Camera Hal Demo默认使用的也是Android原生日志接口(例如:ALOGD, ALOGV),为什么logLevel设置为V级别,但是通过ALOGV打印的日志不输出,不生效Camera Hal Demo在不修改ALOGX接口使用的情况…

C++:设计模式--工厂模式

更多内容:XiaoJ的知识星球 目录 1.简单工厂模式1.1 简单工厂1.2 实现步骤1.3 实现代码1.4 优缺点 2.工厂模式2.1 工厂模式2.2 实现步骤2.3 实现代码2.4 优缺点 3.抽象工厂模式3.1 抽象工厂模式3.2 实现步骤3.3 实现代码3.4 优缺点 1.简单工厂模式 . 1.1 简单工厂 …

【DSP笔记】掌握数字世界的律动:时域离散信号与系统基础

掌握数字世界的律动:时域离散信号与系统基础 想象一下,你用手机拍了一张照片,或者听了一首MP3歌曲。这些图片和声音,原本都是连续变化的模拟信号,但为什么它们能被你的手机存储和处理呢?秘密就在于“数字化…

织梦dedecms上传附件不自动改名的办法

织梦dedecms的系统在上传附件后,会将文件自动改名字,那怎么样才能让附件上传后不自动改名字呢,让附件上传后不自动改名字(中文名的附件将会改成拼音文件名称),现在说一下方法吧: 我们打开网站目录下include\dialog\se…

https下git拉取gitlab仓库源码

git init 创建仓库 参考下面创建公私秘钥对 GitLab配置ssh key - 阿豪聊干货 - 博客园 Your identification has been saved in /home/xxx/.ssh/id_ed25519 Your public key has been saved in /home/xxx/.ssh/id_ed25519.pub 然后查看对应公钥,复制 cat ~/.ss…

Mybatis使用update更新值为null时不生效问题解决

1.出现的问题 前端修改数据时把属性内容删除然后进行保存,默认传的null,后端更新时属性值为null, 然后调用updateById进行更新时发现该属性还是原来的值: update方法不会对属性null的进行更新 2.原因 mybatis-plus FieldStrat…

JAVA 学习日志

$2 周期小结 #8 工作汇报 数学建模部分 前三天的主要精力用在电工杯数学建模大赛上了,虽然这是Java学习笔记 当是还是总结一下吧 首先是任务分工方面 需要三个人都会python基础语法 然后一起写论文 ,就是需要边建模边写论文 ,然后在 后续…

Java网络编程性能优化

1.网络编程性能优化基础 1. 性能关键指标 指标 描述 优化目标 响应时间 从请求到响应的总时间 降低到毫秒级 吞吐量 单位时间内处理的请求数量 提高到每秒数千至数万请求 并发用户数 系统同时处理的用户数量 支持数千至数万并发连接 资源利用率 CPU、内存、网络带…

react native搭建项目

React Native 项目搭建指南 React Native 是一个使用 JavaScript 和 React 构建跨平台移动应用的框架。以下是搭建 React Native 项目的详细步骤: 1. 环境准备 安装 Node.js 下载并安装 Node.js (推荐 LTS 版本) 安装 Java Development Kit (JDK) 对于 Androi…

Redis 容器启动失败Fatal error loading the DB, check server logs. Exiting.的解决方法

❗ 问题分析:Redis 容器启动失败 根据提供的 Redis 启动日志,关键信息如下: 🔍 模块加载情况 模块名称状态备注RedisCompat✅ 成功search✅ 成功RediSearch 模块timeseries✅ 成功RedisTimeSeries 模块ReJSON✅ 成功bf✅ 成功R…