Redis主從模式的搭建
阿新 • • 發佈:2018-11-16
為了降低每個Redis伺服器的負載,可以設定幾個Redis伺服器作為從伺服器專門用作使用者的“讀取”操作(即查詢)。設定一個Redis伺服器作為主伺服器專門用作使用者的“寫”操作(即增刪改)。主伺服器的資料會自動同步到從伺服器上。
其流程圖:
如何配置(完全由從伺服器配置和維護主從關係):
1.在Redis的安裝目錄下的redis.conf中配置:
slaveof 192.168.39.159 6379
(master伺服器的IP) (埠號)
2.檢視當前Redis的程序號:
ps -A | grep redis
3.通過查出的程序號殺死當前Redis程序:
kill -9 程序號
4.使用修改後的配置檔案啟動Redis:
redis-server /opt/redis-4.0.2/redis.conf
5.在從伺服器上登陸Redis:
redis-cli -h 127.0.0.1 -p 6379 -a 123456
此時看到的redis上的資料就是master伺服器上的Redis上的資料。但是slave伺服器對其資料是沒有set(即寫入)許可權的,只能讀。
設定slave伺服器上的Redis擁有寫許可權:
slave-read-only no
即在Redis總的配置檔案中將slave-read-only設定為no,其預設是yes。但是由於分工的原因,所以在從伺服器上寫資料是沒有任何意義的。
原理:
設定好slave伺服器之後,slave伺服器會主動與master伺服器傳送SYNC命令與之建立連線,master在收到請求之後,會啟動一個後臺程序,建立當前redis儲存資料的快照檔案(dump.rdb),同時也會收集redis所有的寫操作並快取成檔案,master在完成整個映象的備份之後,會把資料檔案發給slave,slave把檔案儲存到磁碟上,然後把資料載入到記憶體中,接著master會把所有的快取的命令發給slave。
具體可以看部落格:https://www.cnblogs.com/hepingqingfeng/p/7263782.html