在Linux中,Redis主从复制可以通过以下步骤实现:
首先,确保在主服务器和从服务器上都安装了Redis。你可以使用包管理器来安装,例如在Ubuntu上:
sudo apt update
sudo apt install redis-server
编辑主服务器上的Redis配置文件(通常是/etc/redis/redis.conf),确保以下配置项被正确设置:
# 绑定IP地址,确保从服务器可以连接
bind 0.0.0.0
# 设置主服务器的端口(默认是6379)
port 6379
# 设置主服务器的运行ID
runid /var/run/redis_6379.pid
# 设置日志文件路径
logfile /var/log/redis/redis-server.log
# 设置日志级别
loglevel notice
# 设置数据持久化方式(可选)
save 900 1
save 300 10
save 60 10000
# 设置主服务器的复制模式
slaveof no one
编辑从服务器上的Redis配置文件(通常是/etc/redis/redis.conf),添加以下配置项:
# 绑定IP地址,确保主服务器可以连接
bind 0.0.0.0
# 设置从服务器的端口(默认是6379)
port 6379
# 设置从服务器的运行ID
runid /var/run/redis_6379.pid
# 设置日志文件路径
logfile /var/log/redis/redis-server.log
# 设置日志级别
loglevel notice
# 设置数据持久化方式(可选)
save 900 1
save 300 10
save 60 10000
# 设置主服务器的IP地址和端口
slaveof <master_ip> <master_port>
将<master_ip>替换为主服务器的IP地址,<master_port>替换为主服务器的端口(默认是6379)。
在主服务器和从服务器上分别启动Redis服务:
sudo systemctl start redis-server
在主服务器上,使用redis-cli连接到Redis实例并设置一个键值对:
redis-cli -h <master_ip> -p <master_port>
set mykey "Hello, Redis!"
然后在从服务器上,使用redis-cli连接到Redis实例并检查该键值对是否同步:
redis-cli -h <slave_ip> -p <slave_port>
get mykey
如果输出是Hello, Redis!,则说明主从复制已经成功实现。
你可以使用redis-cli的info replication命令来监控复制状态:
在主服务器上:
redis-cli -h <master_ip> -p <master_port> info replication
在从服务器上:
redis-cli -h <slave_ip> -p <slave_port> info replication
通过这些步骤,你应该能够在Linux环境中成功配置Redis的主从复制。