在Ubuntu上实现Redis的主从复制(Master-Slave Replication)可以按照以下步骤进行:
首先,确保你已经在两台服务器上安装了Redis。如果还没有安装,可以使用以下命令进行安装:
sudo apt update sudo apt install redis-server 编辑主服务器的Redis配置文件 /etc/redis/redis.conf:
sudo nano /etc/redis/redis.conf 找到并修改以下配置项:
bind:绑定主服务器的IP地址。port:Redis监听的端口,默认是6379。requirepass:设置主服务器的密码。例如:
bind 192.168.1.100 port 6379 requirepass your_master_password 保存并退出编辑器,然后重启Redis服务:
sudo systemctl restart redis-server 编辑从服务器的Redis配置文件 /etc/redis/redis.conf:
sudo nano /etc/redis/redis.conf 找到并修改以下配置项:
slaveof:指定主服务器的IP地址和端口。masterauth:设置主服务器的密码(如果主服务器设置了密码)。例如:
slaveof 192.168.1.100 6379 masterauth your_master_password 保存并退出编辑器,然后重启Redis服务:
sudo systemctl restart redis-server 你可以通过以下命令来验证主从复制是否成功:
redis-cli -h 192.168.1.100 -p 6379 -a your_master_password info replication 你应该会看到类似以下的输出,表示从服务器已经连接并正在复制数据:
# Replication role:master connected_slaves:1 slave0:ip=192.168.1.101,port=6379,state=online,offset=12345,lag=0 redis-cli -h 192.168.1.101 -p 6379 -a your_master_password info replication 你应该会看到类似以下的输出,表示从服务器已经连接到主服务器并正在复制数据:
# Replication role:slave master_host:192.168.1.100 master_port:6379 master_link_status:up ... 你可以通过以下命令测试读写分离:
redis-cli -h 192.168.1.100 -p 6379 -a your_master_password set test_key "Hello Master" redis-cli -h 192.168.1.101 -p 6379 -a your_master_password get test_key 如果从服务器返回了 “Hello Master”,说明主从复制配置成功,并且读写分离也正常工作。
通过以上步骤,你就可以在Ubuntu上成功实现Redis的主从复制。