⌛ 一文掌握: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

三、总结

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

相关推荐
kida_yuan15 小时前
【从零开始】12. 一切回归原点
python·架构·nlp
用户15129054522015 小时前
Langfuse-开源AI观测分析平台,结合dify工作流
后端
南囝coding15 小时前
Claude Code 从入门到精通:最全配置指南和工具推荐
前端·后端
正在起飞的蜗牛16 小时前
【C语言】函数指针的使用分析:回调、代码逻辑优化、代码架构分层
c语言·架构
会开花的二叉树16 小时前
彻底搞懂 Linux 基础 IO:从文件操作到缓冲区,打通底层逻辑
linux·服务器·c++·后端
lizhongxuan16 小时前
Spec-Kit 使用指南
后端
十八旬16 小时前
苍穹外卖项目实战(day7-1)-缓存菜品和缓存套餐功能-记录实战教程、问题的解决方法以及完整代码
java·数据库·spring boot·redis·缓存·spring cache
会豪16 小时前
工业仿真(simulation)--发生器,吸收器,缓冲区(2)
后端
SamDeepThinking16 小时前
使用Cursor生成【财务对账系统】前后端代码
后端·ai编程·cursor
饭碗的彼岸one16 小时前
C++ 并发编程:异步任务
c语言·开发语言·c++·后端·c·异步