当前位置: 首页 > news >正文

尚硅谷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.xdnf.cn/news/681553.html

相关文章:

  • 从零搭建上门做饭平台:高并发订单系统设计
  • 普罗米修斯监控CPU\内存汇聚图
  • 产业集群间的专利合作关系
  • Visual Studio编译当前文件
  • vue项目 build时@vue-office/docx报错
  • ceph recovery 相关参数
  • MMdetection推理验证输出详解(单张图片demo)
  • 用DEEPSEEK写的扫雷小游戏
  • 如何设计高效的索引策略?
  • 一则doris数据不一致问题
  • Day38 Python打卡训练营
  • Python+OpenCV实战:高效实现车牌自动识别
  • 卷积神经网络(CNN)入门学习笔记
  • 定时清理流媒体服务器录像自动化bash脚本
  • 大模型 Agent 中的通用 MCP 机制详解
  • JavaScript- 4.1 DOM-document对象
  • FEMFAT许可的常见问题及解决方案
  • 【慧游鲁博】【10】全端优化用户信息存储+网页端user模块与后端对接
  • AI一周事件(2025年5月20日-5月26日)
  • 使用API有效率地管理Dynadot域名,查看一口价域名的详细信息
  • 伪创新-《软件方法》全流程引领AI-第1章 04
  • JavaScript 中 this 指向详解
  • 2025年我国低空经济产业链研究与梳理
  • P2 C++基础(2.2)
  • minhash-大模型输入前的去重
  • Bootloader 与 U-Boot 全解析
  • 2025年- H55-Lc163--124. 二叉树的最大路径和(深搜)--Java版
  • 深度学习常见实验问题与实验技巧
  • 基于 OpenCV 和 DLib 实现面部特征调整(眼间距、鼻子、嘴巴)
  • DAY9 热力图和箱线图的绘制