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

Redis的主從搭建

master slave redis

Redis在作為可內存持久化的Key-Value數據庫是使用的過程中是可以做主從服務的。在Redis的大規模集群中Redis的主從服務就是集群實現的基礎,在Redis的主從服務中有以下幾個優點:

1、master可以有多個slave。
2、除了多個slave連到相同的master外,slave也可以連接其它slave形成圖狀結構。
3、主從復制不會阻塞master。也就是說當一個或多個slave與master進行初次同步數據時,master 可以繼續處理客戶端發來的請求。相反slave在初次同步數據時則會阻塞不能處理客戶端的請求。
4、主從復制可以用來提高系統的可伸縮性,我們可以用多個slave專門用於客戶端的讀請求,比如sort操作可以使用slave 來處理。也可以用來做簡單的數據冗余。
5、可以在master禁用數據持久化,只需要註釋掉master配置文件中的所有save配置,然後只在slave上配置數據持久化。
6、在slave上數據只讀,如此保障了數據的一致性

這樣在平時就可以靈活的在使用Redis,而配置Redis的主從也十分的簡單,只需要在Redis的slave服務器上配置文件redis.conf中修改添加以下配置即可:

slaveof <masterip> <masterport>
#填上master的IP和端口
masterauth <master-password>
#填上master的密碼
#建議在Redis中開啟logfile輸出

在這裏正常slave連接上master後,在第一次的時候master就會在後臺實時啟動一個進程把數據保存在快照中,再通過sync把快照傳送至slave,最後由slave把快照導入slave的Redis庫中,而在後續在master上接收的指令都會同步發送一份至slave,從而實現主從同步,這裏需要註意的是在搭建好後如果master有設置口令驗證而在slave中沒有配置masterauth參數時,那麽在主從連接時就會報錯,且在日誌中會時時打印如下的日誌信息:

# MASTER aborted replication with an error: NOAUTH Authentication required.

在master和slave正常搭建連接後在master和slave中都會打印相應的成功日誌

本文出自 “Jim的技術隨筆” 博客,謝絕轉載!

Redis的主從搭建