在Ubuntu上设置Redis主从复制涉及几个步骤。以下是一个基本的指南:
首先,确保你已经在两台服务器上安装了Redis。如果没有安装,可以使用以下命令进行安装:
sudo apt update
sudo apt install redis-server
编辑主服务器的Redis配置文件 /etc/redis/redis.conf:
sudo nano /etc/redis/redis.conf
找到并修改以下配置项:
bind 0.0.0.0 # 允许所有IP访问
port 6379 # 默认端口
保存并退出编辑器,然后重启Redis服务:
sudo systemctl restart redis-server
编辑从服务器的Redis配置文件 /etc/redis/redis.conf:
sudo nano /etc/redis/redis.conf
找到并修改以下配置项:
slaveof <master_ip> <master_port>
例如,如果主服务器的IP是 192.168.1.100,端口是 6379,则配置如下:
slaveof 192.168.1.100 6379
保存并退出编辑器,然后重启Redis服务:
sudo systemctl restart redis-server
在主服务器上,使用 redis-cli 连接到Redis并设置一个键值对:
redis-cli -h <master_ip> -p <master_port>
set mykey "Hello, World!"
在从服务器上,使用 redis-cli 连接到Redis并获取该键值对:
redis-cli -h <slave_ip> -p <slave_port>
get mykey
如果配置正确,你应该能够看到从服务器返回的值 "Hello, World!"。
为了确保数据在服务器重启后不会丢失,可以配置Redis的持久化选项。编辑主服务器和从服务器的 /etc/redis/redis.conf 文件,找到并修改以下配置项:
save 900 1
save 300 10
save 60 10000
这些配置项表示在900秒内至少有1个键发生变化、300秒内至少有10个键发生变化、60秒内至少有10000个键发生变化时,Redis会自动保存数据到磁盘。
保存并退出编辑器,然后重启Redis服务:
sudo systemctl restart redis-server
通过以上步骤,你应该能够在Ubuntu上成功设置Redis的主从复制。