Redis 主从复制

首先关于主从复制,实操及结果是基础。

一、准备redis文件包

1.1、历史版本下载:历史版本地址

稳定版本:node 版本号第二位若是是奇数,则为非稳定版本(例如2.7、2.9、3.1),若是是偶数,则为稳定版本(例如2.6、2.8、3.0、3.2)。

此次以6.2.5版本为主;

二、Reids持久化

Redis 的持久化主要有两大机制: AOF 日志 和 RDB 快照

2.1 如何开启AOF 编辑 redis.conf

2.2 内存快照(内存中的数据某一个时刻的状态记录) RDB 实现

Redis 提供两个命令来生成RDB文件,分别是save 和bgsave

2.3 它们的优势对比:

AOF恢复效率低的问题,RDB优势在于是数据的快照恢复速度快,但是频繁的也是不可取的,尽管bgsave是写时快照。

|-----|---------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 名称 | 优势缺点 |
| AOF | AOF 日志: 优势: 1. ,Redis 使用写后日志这一方式的一大好处是,可以避免出现记录错误命令的情况。 2. 它是在命令执行后才记录日志,所以不会阻塞当前的写操作。 风险: 1. 写后日志如果发生宕机会造成数据丢失 2. 日志写回磁盘可能阻塞主线程 缺点: 1. 因为记录的是操作命令如果日志非常多、恢复慢 |
| RDB | RDB 快照: 优势: 1. 记录的是一个时间点的状态记录 save:在主线程中执行,会导致阻塞; bgsave:创建一个子进程,专门用于写入 RDB 文件,避免了主线程的阻塞,这也是 Redis RDB 文件生成的默认配置。 |

三、主从配置

我这边是3份conf文件。redis-6378.conf、redis-6377.conf和redis.conf。

它们需要修改参数:

port 6378

daemonize yes //这个可以不改,主要方便切换到cli操作

//路径默认就可以了

pidfile "/var/run/redis_6378.pid"

logfile "/Documents/redis-6.2.5/6378.log"

dbfilename "dump_6378.rdb"

这个改变之后执行如下以6378为例:

./redis-server ../redis-6378.conf

登陆之后:info replication

开启连接6379接口

slaveof 127.0.0.1 6379

当从6379节点写数据以及在从节点。

此时主从复制已经完成。

四、哨兵模式

主从复制完成之后,但是主接口挂点之后,从节点是待机状态。所以就需要用到哨兵了。

sentinel.conf //哨兵文件启动配置。

命令

./redis-sentinel ../sentinel.conf

修改配置:

sentinel monitor mymaster 127.0.0.1 6378 1

上面1 代表投票数目,节点少得话,就一个吧。。。

使用命令挂掉主节点:shutdown save

然后过了一会,主节点会变:

此时,可以说是完成了。

借鉴网址:

1、主从

2、教程

相关推荐
TH_115 小时前
6、前台界面传递老数据,导致业务数据错误
数据库
光影少年15 小时前
PostgreSQL数据库学习路线
数据库·学习·postgresql
哈哈老师啊15 小时前
Springboot简单二手车网站qs5ed(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端
JIngJaneIL15 小时前
基于Java+ vue图书管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·后端
VX:Fegn089516 小时前
计算机毕业设计|基于springboot + vue考勤管理系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
晚风_END16 小时前
postgresql数据库|数据库维护系列|postgresql数据库参数配置详解和数据库维护时机的选择(三)
运维·开发语言·数据库·postgresql·oracle
一 乐16 小时前
幼儿园管理|基于springboot + vue幼儿园管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端
JIngJaneIL16 小时前
基于Java + vue校园论坛系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·后端
期待のcode16 小时前
Springboot多数据源配置
java·数据库·spring boot·后端·mybatis
Knight_AL16 小时前
深入解析 Spring 循环依赖:如何通过三级缓存解决 A ↔ B 的依赖问题
java·spring·缓存