温馨提示×

如何配置CentOS Redis主从

小樊
38
2026-08-03 14:08:33
栏目: 云计算

下面以 CentOS 7/8 为例,说明如何配置 Redis 主从(Master-Slave)复制。示例基于 Redis 6.x / 7.x,适用于单机多实例或不同服务器。


一、环境准备

1. 安装 Redis

# CentOS 7
yum install -y epel-release
yum install -y redis
# CentOS 8
dnf install -y redis

查看版本:

redis-server --version

二、拓扑示例

角色 IP 端口
Master 192.168.1.10 6379
Slave 192.168.1.11 6379

三、配置 Master(主节点)

1. 修改配置文件

vim /etc/redis.conf

关键配置:

bind 0.0.0.0
protected-mode no
port 6379
daemonize yes
pidfile /var/run/redis/redis.pid
logfile /var/log/redis/redis.log
dir /var/lib/redis

(可选)设置密码:

requirepass 123456

2. 启动 Redis

systemctl enable redis
systemctl start redis

四、配置 Slave(从节点)

1. 修改配置文件

vim /etc/redis.conf

关键配置:

bind 0.0.0.0
protected-mode no
port 6379
daemonize yes
pidfile /var/run/redis/redis.pid
logfile /var/log/redis/redis.log
dir /var/lib/redis

2. 指定主节点

replicaof 192.168.1.10 6379

如果主节点有密码:

masterauth 123456

Redis 5 之前使用 slaveof,新版本推荐 replicaof


五、启动并验证

1. 启动从节点

systemctl enable redis
systemctl start redis

2. 验证主从状态

在 Master 上执行:

redis-cli
info replication

应看到:

role:master
connected_slaves:1

在 Slave 上执行:

redis-cli
info replication

应看到:

role:slave
master_host:192.168.1.10
master_link_status:up

六、测试主从复制

在 Master 写入数据:

redis-cli
set test "hello redis"

在 Slave 读取:

redis-cli
get test

✅ 能读到说明主从复制成功


七、常见问题

1. 防火墙未放行

firewall-cmd --add-port=6379/tcp --permanent
firewall-cmd --reload

2. 从节点只读(默认)

redis-cli
set a 1
# (error) READONLY You can't write against a read only replica

八、生产建议

✅ 主从 + Sentinel(高可用)
✅ 主节点不做持久化,从节点开启 AOF/RDB
✅ 使用强密码
✅ 限制 bind 为内网 IP


九、扩展:一主多从

只需在多个从节点配置:

replicaof 192.168.1.10 6379

如果你需要 Sentinel 高可用配置Docker / 多实例配置,可以继续问我。

0