Redis 主从复制配置教程

1. 什么是 Redis 主从复制

Redis 主从复制(Master-Slave Replication)允许一个 Redis 实例作为主节点(Master),多个 Redis 实例作为从节点(Slave),从节点会自动同步主节点的数据,并在主节点发生写操作时实时更新。

  • 主节点:处理所有写操作,数据变更会同步到从节点。
  • 从节点:接收并同步主节点的所有数据,处理只读请求。

2. 环境准备

假设我们有两台服务器,分别作为主节点和从节点:

  • 主节点 :192.168.1.100
  • 从节点 :192.168.1.101

Redis 安装路径为 /usr/local/bin,配置文件路径为 /usr/local/bin/redis.conf。

3. 配置主节点

首先,确保主节点的 Redis 已正常启动,并且允许从节点连接。

3.1 修改主节点配置文件

打开主节点的 Redis 配置文件 /usr/local/bin/redis.conf,确认以下配置:

复制代码
bind 0.0.0.0

确保 Redis 可以监听所有网络接口,允许从节点连接。

3.2 启动主节点

启动 Redis 主节点服务:

复制代码
redis-server /usr/local/bin/redis.conf

确认 Redis 主节点已经启动并监听默认端口(6379):

复制代码
netstat -ntlp | grep redis

4. 配置从节点

接下来,在从节点服务器上配置主从同步。

4.1 修改从节点配置文件

打开从节点的 Redis 配置文件 /usr/local/bin/redis.conf,修改以下配置:

复制代码
replicaof 192.168.1.100 6379

将 192.168.1.100 替换为主节点的 IP 地址,6379 是 Redis 的默认端口。

4.2 启动从节点

启动 Redis 从节点服务:

复制代码
redis-server /usr/local/bin/redis.conf

从节点启动后会自动与主节点建立连接,并开始同步主节点的数据。

5. 验证主从复制

在主节点执行以下命令:

复制代码
redis-cli

执行一个写操作,插入一些数据:

复制代码
SET key1 "value1"

然后,登录到从节点,执行查询操作:

复制代码
redis-cli
GET key1

如果返回值为 value1,则表明主从复制配置成功。

6. 主从复制的高可用性

在实际生产环境中,主从复制能够有效提高 Redis 服务的高可用性。常见的用法包括:

  • 读写分离:所有写操作在主节点上执行,从节点处理读操作,提高系统的读写性能。
  • 主节点故障切换:当主节点出现故障时,可以手动或自动将从节点提升为主节点,保证服务的持续性。

7. 进阶:哨兵模式

为了实现更高的可用性,Redis 提供了哨兵(Sentinel)模式,能够自动监控主节点的健康状况并在主节点故障时进行自动故障转移(Failover),将一个从节点提升为新的主节点。

相关推荐
roman_日积跬步-终至千里1 分钟前
【数据Agent论文·查询与语义|06】RAT-SQL:怎样把问题、表和字段真正关联起来?
数据库·sql·数据分析
盟接之桥11 分钟前
盟接之桥谈线束数字化-按单入按单出:线束企业库存管理的破局之道
大数据·前端·网络·数据库·人工智能·制造
Nturmoils33 分钟前
数据集成软件 KFS:多套业务库汇聚时,先把来源和口径理清
数据库
麦壳饼42 分钟前
SonnetDB:批量写入的大小、背压与刷新策略
数据库·sonnetdb
weixin_460443561 小时前
Java+Linux私有化训考平台:服务、数据库与终端部署结构解析
java·linux·数据库·私有化部署·企业培训考试系统·企业考试系统
编程火箭车2 小时前
MySQL 拥抱 AI:向量、RAG、AutoML 全进了数据库
数据库·mysql·ai编程·向量数据库·rag·automl·mysql9
用户8662978480082 小时前
KingbaseES 中文乱码、排序不对?区域和字符集的问题,一次说清
数据库
aruo2 小时前
回退旧镜像之前,先确认数据库还能兼容
数据库
张洛闻Eren3 小时前
Ansible【第三课】:管理变量和事实
数据库·oracle
weixin_382395233 小时前
0-500 人工厂的生产 PMC 系统怎么做?基于 Tauri + SQLite 的性能架构实践与 5000 物料压测实录
数据库·架构·sqlite