温馨提示×

Ubuntu Redis如何实现主从复制

小樊
48
2025-08-21 23:26:22
栏目: 云计算

在Ubuntu上实现Redis的主从复制(Master-Slave Replication)可以按照以下步骤进行:

1. 安装Redis

首先,确保你已经在两台服务器上安装了Redis。如果还没有安装,可以使用以下命令进行安装:

sudo apt update sudo apt install redis-server 

2. 配置主服务器(Master)

编辑主服务器的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 

3. 配置从服务器(Slave)

编辑从服务器的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 

4. 验证主从复制

你可以通过以下命令来验证主从复制是否成功:

在主服务器上:

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 ... 

5. 测试读写分离

你可以通过以下命令测试读写分离:

在主服务器上写入数据:

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的主从复制。

0