Redis 主从复制(Master-Slave Replication)是 Redis 分布式系统中的一种数据同步机制,它允许一个 Redis 实例(主节点)将其数据复制到一个或多个其他 Redis 实例(从节点)。以下是实现 Redis 主从复制的步骤:
在主节点的 redis.conf 文件中进行以下配置:
# 设置主节点的 IP 地址和端口
bind 0.0.0.0
port 6379
# 设置主节点的唯一标识
server-id 1
# 开启 AOF 持久化(可选)
appendonly yes
# 设置 AOF 文件名
appendfilename "appendonly.aof"
在从节点的 redis.conf 文件中进行以下配置:
# 设置从节点的 IP 地址和端口
bind 0.0.0.0
port 6380
# 设置从节点的唯一标识
server-id 2
# 指定主节点的 IP 地址和端口
slaveof <master_ip> <master_port>
# 设置从节点的密码(如果主节点设置了密码)
masterauth <master_password>
分别启动主节点和从节点的 Redis 实例:
redis-server /path/to/master/redis.conf
redis-server /path/to/slave/redis.conf
在主节点上执行一些写操作,然后在从节点上执行读操作,验证数据是否同步成功。
redis-cli set key value
redis-cli get key
如果从节点返回了与主节点相同的值,说明复制成功。
可以使用 INFO replication 命令来监控主从复制的状态:
redis-cli info replication
该命令会返回详细的复制信息,包括主节点的 IP 地址、从节点的 IP 地址、复制偏移量等。
如果主节点宕机,可以使用 Redis Sentinel 或其他高可用方案来实现自动故障转移。
server-id 必须不同。通过以上步骤,你可以成功实现 Redis 的主从复制。