在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的主從復制。