redis7基础篇2 redis的主从模式1

目录

[一 主从模式](#一 主从模式)

[1.1 主从复制的作用](#1.1 主从复制的作用)

[1.2 配置常用命令](#1.2 配置常用命令)

[1.3 主从复制常见问题](#1.3 主从复制常见问题)

[1.4 主从复制的缺点](#1.4 主从复制的缺点)

[1.5 redis主从复制原理](#1.5 redis主从复制原理)

[二 redis主从复制的搭建流程](#二 redis主从复制的搭建流程)

[2.1 注意事项](#2.1 注意事项)

[2.2 redis的主从复制架构图](#2.2 redis的主从复制架构图)

[2.3 以6379.conf配置文件配置为例](#2.3 以6379.conf配置文件配置为例)

[2.4 以6380.conf配置文件配置为例](#2.4 以6380.conf配置文件配置为例)

[2.5 以6381.conf配置文件配置为例](#2.5 以6381.conf配置文件配置为例)

2.6主从启动

2.7查看主从关系


一 主从模式

1.1 主从复制的作用

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

其他作用:读写分离;容灾恢复;数据备份;水平扩容支撑高并发。

Master节点挂了后,默认从节点不会自选成主节点的。解决办法使用哨兵模式。

1.2 配置常用命令

1.info replication 可以查看复制节点的主从关系和配置信息。

2.replicaof 主库ip 主库端口 一般写入redis.conf配置文件内,这条指令的作用是指定要连接的主节点的 IP 地址和端口号,使得当前的 Redis 实例能够从主节点那里复制数据。

3.slaveof 主库ip 主库端口 命令用于设置当前数据库为指定主数据库的从数据库,并启动与主数据库的同步操作。

4.slaveof no one: 使当前数据库停止与其他数据库的同步,转成主数据库,自立为王。

replicaof 和 slaveof 是两个不同的命令,它们都用于将当前服务器配置为 Redis主实例的副本。replicaof 是 Redis 3.0 及以上版本推荐使用的命令,而 slaveof 是旧版本的命令。

1.3 主从复制常见问题

1.从机器不可以进行写操作;2.主机down之后,从机不会上位;3.主机down之后,主从关系还在;主机重新启动还能当master;4.从机down之后,再次重启后,先进行全量复制,然后进行增量复制。5.切入点问题:slave是从头开始复制还是从切入点开始复制? master启动,写到k3; slave1跟着master同时启动,跟着写到k3;slave2写到k3后才启动,那之前的是否也可以复制?先全量后增量。

1.4 主从复制的缺点

复制延时,信号衰减:由于所有的写操作都是现在master上操作,然后同步更新到slave上,所有从master同步到slave机器有一定的延迟,当系统很繁忙的时候,延迟问题会更加严重,slave机器数量的正价也会使这个问题更加严重。

Master节点挂了后,默认从节点不会自选成主节点的。解决办法使用哨兵模式。

1.5redis主从复制原理

1.slave启动,同步初清;slave启动成功连接到master后会发送一个sync命令,slave首次全新链接master,一次完全同步(全量复制)将被自动执行,slave自身原有旧数据会被master数据覆盖掉。

2.首次连接,全量复制:mster节点收到sync命令后会开始在后台保存快照(即RDB持久化,主从复制会触发RDB),同时收集所有接收到的用于修改数据集命令缓存起来,master节点执行RDB持久化完后。Master将rdb快照文件和所有缓存命令发送到slave,以完成一次全量同步,而slave服务在接收到数据库文件rdb数据后,将其存盘并加载到内存中,从而完成复制初始化。

3.心跳持续,保持通信: repl-ping-replica-period 10:master发出PING包的周期,默认是10秒

4.进入平衡,增量复制:master继续将新的所有收集到的修改命令自动依次传给slave,完成同步。

5.从机下线,重连续传:master会检查backlog里面的offset,master和slave都会保存一个复制的offset还有一个masterid,offset是保存在backlog中的。

redis主从复制的搭建流程

2.1 注意事项

1.确保3台节点的防火墙进行关闭

2.权限设置,如果主节点设置了密码,master配置了requirepass参数,需要密码登录,则slave需要配置masterauth来设置校验码,否则的话master会拒绝slave的访问请求。

2.2 redis的主从复制架构图

主从复制的架构图:一主二从。

2.3 以6379.conf配置文件配置为例

1.开启daemonize yes的配置

2.注释掉 127.0.0.1

3.设置protected mode no

4.指定端口

5.制定当前工作目录

6.指定pid的文件路径

7.指定日志的文件目录

8.设置密码

9.设置dump.rdb文件名

10.aof的文件,路径配置

11.从节点访问主节点配置通信验证的密码,其他两个从节点需要配置信息,主节点不需要:

2.4 以6380.conf配置文件配置为例

将6379.conf配置文件复制到6380节点,修改文件名为6380.conf。进行配置主从关系:同时也配置密码校验。Masterauth 111111;

2.5 以6381.conf配置文件配置为例

将6379.conf配置文件复制到6381节点,修改文件名为6381.conf。进行配置主从关系:同时也配置密码校验。Masterauth 111111;

2.6主从启动

2.7查看主从关系

1.master日志查看:和从机端口6380和6381同步成功。

2.查看从机日志:可以看到从机连接到端口6379主机

3.使用命令进行查看:使用 info replication 进行查看

相关推荐
qq_529835353 分钟前
Redis作为缓存和数据库的数据一致性问题
数据库·redis·缓存
知初~4 小时前
出行项目案例
hive·hadoop·redis·sql·mysql·spark·database
山猪打不过家猪5 小时前
ASP.NET Core Clean Architecture
java·数据库·asp.net
qwy7152292581636 小时前
13-R数据重塑
服务器·数据库·r语言
Bio Coder6 小时前
R语言安装生物信息数据库包
开发语言·数据库·r语言
艾斯比的日常6 小时前
提升接口性能之缓存
缓存
钊兵7 小时前
数据库驱动免费下载(Oracle、Mysql、达梦、Postgresql)
数据库·mysql·postgresql·oracle·达梦·驱动
weixin_425878238 小时前
Redis复制性能优化利器:深入解析replica-lazy-flush参数
数据库·redis·性能优化
左灯右行的爱情8 小时前
Redis数据结构总结-listPack
数据结构·数据库·redis