温馨提示×

Redis主从复制如何实现

小樊
49
2025-10-20 20:14:28
栏目: 云计算

Redis 主从复制(Master-Slave Replication)是一种数据同步机制,它允许一个 Redis 服务器(主节点,Master)将其数据复制到一个或多个其他 Redis 服务器(从节点,Slave)。这种机制可以提高数据的可用性和读取性能。以下是实现 Redis 主从复制的步骤:

1. 配置主节点

在主节点的 redis.conf 文件中进行以下配置:

# 设置主节点的绑定地址和端口
bind 0.0.0.0
port 6379

# 设置主节点的复制ID(可选)
replicaof no one

2. 配置从节点

在从节点的 redis.conf 文件中进行以下配置:

# 设置从节点的绑定地址和端口
bind 0.0.0.0
port 6380

# 设置从节点要复制的 主节点的地址和端口
replicaof <master_ip> <master_port>

例如,如果主节点的 IP 地址是 192.168.1.100,端口是 6379,那么配置如下:

replicaof 192.168.1.100 6379

3. 启动 Redis 服务器

分别启动主节点和从节点的 Redis 服务器。

redis-server /path/to/master/redis.conf
redis-server /path/to/slave/redis.conf

4. 验证复制状态

可以通过以下命令检查主从复制是否成功:

在主节点上:

redis-cli info replication

你应该能看到类似以下的输出:

# Replication
role:master
connected_slaves:1
slave0:ip=192.168.1.101,port=6380,state=online,offset=12345,lag=0

在从节点上:

redis-cli info replication

你应该能看到类似以下的输出:

# Replication
role:slave
master_host:192.168.1.100
master_port:6379
master_link_status:up

5. 手动触发复制(可选)

如果需要手动触发复制,可以在从节点上执行以下命令:

redis-cli SLAVEOF <master_ip> <master_port>

6. 监控和维护

定期检查主从节点的状态,确保复制正常进行。可以使用 redis-cliINFO replication 命令来监控复制状态。

注意事项

  • 主节点的写操作会实时同步到从节点,但从节点的写操作不会影响主节点。
  • 如果主节点宕机,从节点可以升级为主节点,实现故障转移。
  • 主从复制是异步的,可能会有一定的延迟。

通过以上步骤,你可以成功实现 Redis 的主从复制。

0