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 进行查看

相关推荐
小龙在山东1 小时前
memcached的基本使用
数据库·缓存·memcached
亦世凡华、2 小时前
MySQL--》快速提高查询效率:SQL语句优化技巧与实践
数据库·经验分享·sql·mysql·sql优化
不是二师兄的八戒2 小时前
深入 Redis:高级特性与最佳实践
数据库·redis·缓存
drebander4 小时前
SQL 分析函数与聚合函数的组合应用
大数据·数据库·sql
嘻嘻哈哈曹先生4 小时前
SpringBoot中常用的 Redis 命令实现
java·spring boot·redis
LLLuckyGirl~4 小时前
node.js之---集群(Cluster)模块
数据库
ccmjga4 小时前
Spring Boot 3 配置大全系列 —— 如何配置用户的登录与认证?
java·数据库·spring boot·后端·spring·单元测试·gradle
Dann Hiroaki4 小时前
文献分享:跨模态的最邻近查询RoarGraph
数据库·图搜索
泰山小张只吃荷园4 小时前
软件体系结构、设计模式、课程期末复习知识点全总结-SCAU
网络·数据库·sql·计算机网络·设计模式·sqlserver
JM_life5 小时前
Python入门系列之九-数据分析与可视化
数据库·python·数据分析