⌛ 一文掌握:Redis7的主从复制

一、什么是Redis7的主从复制

Redis 的主从复制是一种数据复制机制,用于在多个 Redis 服务器之间实现数据同步。

  • master以写为主,Slave以读为主

  • 当master数据变化的时候,自动将新的数据异步同步到其它slave数据库

二、主从复制的四种模式

前置操作

①准三台centos虚拟机IP分别为: 129、131、131

②恢复Redis的配置为原始配置

cd /java/redis/redis-7.0.2/

cp redis.conf /root/myredis/redisNeW.conf

2.1 一主二仆

配置步骤

①配置 IP:129 的Redis

2.1.1 开启daemonize yes

2.1.2 注释掉bind 127.0.0.1

2.1.3 protected-mode no

2.1.4 指定端口

2.1.5 指定当前工作目录,dir

2.1.6. pid文件名字,pidfile

2.1.7 log文件名字,logfile

2.1.8 requirepass 123456

2.1.9 dump.rdb名字

② 配置 IP:131 的Redis

2.2.1 将129的redis配置拷贝到131里面

scp /root/myredis/redisNew.conf root@192.168.118.131:/root/myredis

修改文件名为redis131.conf

2.2.2 replicaof

2.2.3 指定端口 6381

2.2.4 配置主机密码 masterauth 123456

③配置 IP:132 的Redis

2.3.1 将129的redis配置拷贝到132里面

scp /root/myredis/redisNew.conf root@192.168.118.132:/root/myredis 修改文件名为redis132.conf

2.3.2 replicaof

2.3.3 指定端口 6382

2.3.4 配置主机密码 masterauth 123456

④具体演示

2.4.1启动129的Redis

cd /usr/local/redis/bin/

./redis-server /root/myredis/redisNew.conf

./redis-cli -a 123456

2.4.2启动131的Redis

cd /usr/local/redis/bin/

./redis-server /root/myredis/redis131.conf

./redis-cli -a 123456 -p 6381

2.4.3启动132的Redis

cd /usr/local/redis/bin/

./redis-server /root/myredis/redis132.conf

./redis-cli -a 123456 -p 6382

查看129.的日志

1.从机可以执行写命令吗?

不可以,从机只有读写命令的去哪里

2.主机shutdown后,从机会上位吗?

不会,会一直等待到主机启动

3.主机shutdown后,重启后主从关系还在吗?从机还能否顺利复制?

还在,能顺利复制

4.某台从机down后,master继续,从机重启后它能跟上大部队吗?

可以

2.2改换门庭

① 将131的主机配置去掉

②将132的主机配置去掉

③ 重启Redis,查看三个Redis的主从状态 info replication

info replication

三个Redis都为主机

③ 将131,132重新用命令设定主机129

slaveof 主库IP 主库端口

slaveof 192.168.118.129 6379

④ 主机新增数据,查看从机是否同步更新

需要注意的是,通过手动命令设置的主从关系,一旦重启就失效了,是临时命令

2.3 薪火相传

Redis的薪火相传是指上一个 Slave(从服务器)可以是下一个 slave 的 Master(主服务器),Slave 同样可以接收其他 slaves 的连接和同步请求,那么该 slave 作为了链条中下一个的 master,可以有效减轻 master 的写压力,去中心化降低风险。

实现步骤

①131配置主机129

./redis-server /root/myredis/redis131.conf

./redis-cli -a 123456 -p 6381

slaveof 192.168.118.129 6379

②132配置主机131

./redis-server /root/myredis/redis131.conf

./redis-cli -a 123456 -p 6381

slaveof 192.168.118.131 6381

③ 查看各个Redis的主从状态

info replication

④ 129主机新增数据查看各个从机数据

2.4自立为王

Redis的自立为王是指将当前的 slave(从服务器)数据库停止与其他 master(主服务器)数据库的同步关系,转成主数据库。执行该操作后,该 slave 数据库将不再接收其他 master 数据库的数据同步,而是自己成为一个独立的主数据库,可以接受其他 slave 数据库的连接和数据同步请求。简单来说就是从从机变为主机

实现步骤

SLAVEOF no one

三、总结

本文主要介绍了什么是主从复制,以及主从复制的四种模式分别为:一主二仆、薪火相传、改换门庭、自立为王的意思以及如何配置和效果演示。

相关推荐
珠海西格电力2 小时前
零碳园区的能源供给成本主要包括哪些方面?
大数据·分布式·微服务·架构·能源
神奇的程序员2 小时前
重构了自己5年前写的截图插件
前端·javascript·架构
养肥胖虎2 小时前
Docker学习笔记:后端、数据库和反向代理怎么一起跑起来
后端·nginx·docker·postgresql·go·部署
Luhui Dev2 小时前
Anthropic 2026 最新 Agent Harness 架构完整拆解:Managed Agents
人工智能·架构·agent·luhuidev
晓杰'2 小时前
从0到1实现 Balatro 游戏后端(2):NestJS框架搭建与项目结构设计
后端·websocket·typescript·node.js·游戏开发·项目实战·nestjs
无所事事O_o3 小时前
二次验证码TOTP 使用说明
后端·二次验证码·谷歌验证器
最后一支迷迭香3 小时前
Redis+ThreadLocal实现防重复提交,参考美团GTIS防重系统
redis·threadlocal·防止重复提交
xifangge20253 小时前
【深度架构】Claude Code + Opus 4.6 全流程调优:API 路由重定向技术与 Agentic 编程流实战(附零成本接入方案)
架构·claudecode·opus4.6
ltl3 小时前
Multi-Head Attention:为什么要分多个头
后端
ltl4 小时前
Scaled Dot-Product:那个根号 d_k 是怎么来的'
后端