1.創建公共配置文件
所有配置文件添加到以下目錄:
/xxxx/redis-slave-master
創建公共的redis配置文件,直接使用redis的默認配置文件,修改以下配置項:
bind 127.0.0.1
daemonize yes 后台啟動
requirepass 123456 登錄密碼
2.創建master服務的配置文件
在
/xxxx/redis-slave-master
目錄中創建redis-master.conf文件,並添加以下配置內容:
## 公共配置配置相關
include /xxxx/redis-slave-master/redis-commom.conf
## 監聽端口
port 7001
## 后台運行的時候生成的進程文件
pidfile /var/run/redis7001.pid
## 日志文件路徑和名稱
logfile "/xxxx/redis-slave-master/log/master"
## 持久化數據庫文件
dbfilename dump7001.rdb
## 數據庫文件目錄
dir /xxxx/redis-slave-master/redis-dbfile
3.添加slave的配置文件
在
/xxxx/redis-slave-master
目錄下添加redis-slave1.conf配置文件
配置內容為:
## 公共配置配置相關
include /xxxx/redis-slave-master/redis-commom.conf
port 7002
pidfile /var/run/redis7002.pid
logfile "/xxxx/redis-slave-master/log/slave1"
dbfilename dump7002.rdb
dir /xxxx/redis-slave-master/redis-dbfile
## slave-master相關配置
slaveof 127.0.0.1 7001
masterauth 123456
slave-read-only yes
4.啟動master和slave服務
切換到配置文件目錄:
cd /xxxx/redis-slave-master
輸入以下命令,啟動master和slave服務
redis-server redis-master.conf
redis-server redis-slave1.conf
輸入:
ps -aux|grep redis
如果輸出以下內容:
root 10739 0.0 0.2 142912 5412 ? Ssl 17:14 0:00 redis-server 127.0.0.1:7001
root 10748 0.0 0.2 142912 5384 ? Rsl 17:14 0:00 redis-server 127.0.0.1:7002
啟動成功。
5.驗證Master/Slave模式配置成功
使用redis-cli分別連接slave和master數據庫:
redis-cli -p 7001 -a 123456
redis-cli -p 7002 -a 123456
在連接master的客戶端中添加數據:
set master-key test
在連接slave的客戶端中輸入:
get master-key
如果能查詢到:
"test"
則redis的slave-master配置成功。
6.slave中寫入數據測試
在連接slave的客戶端中輸入:
set write-test test
會返回以下錯誤:
(error) READONLY You can't write against a read only slave.
這個因為在slave的服務中配置了只讀模式。
7.redis日志文件分析:
10739:M 21 Mar 17:14:31.568 * DB loaded from disk: 0.000 seconds
10739:M 21 Mar 17:14:31.568 * The server is now ready to accept connections on port 7001
10739:M 21 Mar 17:14:38.962 * Slave 127.0.0.1:7002 asks for synchronization
10739:M 21 Mar 17:14:38.962 * Full resync requested by slave 127.0.0.1:7002
10739:M 21 Mar 17:14:38.963 * Starting BGSAVE for SYNC with target: disk
10739:M 21 Mar 17:14:38.963 * Background saving started by pid 10751
10751:C 21 Mar 17:14:38.993 * DB saved on disk
10751:C 21 Mar 17:14:38.994 * RDB: 2 MB of memory used by copy-on-write
10739:M 21 Mar 17:14:39.082 * Background saving terminated with success
10739:M 21 Mar 17:14:39.083 * Synchronization with slave 127.0.0.1:7002 succeeded
8.使用場景
一般用於讀寫分離
