1. 程式人生 > >Redis主從模式的搭建

Redis主從模式的搭建

為了降低每個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