一、redis支持簡單且易用的主從複製(master-slave replication)功能,該功能可讓從服務器(slave server)成爲主服務器(master server)的精確複製品。redis
二、如下是關於redis複製功能的幾個重要方面
1)redis使用異步複製。
2)一個主服務器能夠有多個從服務器。
3)不只主服務器能夠有從服務器,從服務器也能夠有本身的從服務器,多個從服務器之間能夠構成一個網狀結構
4)複製功能不會阻塞主服務器。
5)複製功能也不會阻塞從服務器。
6)複製功能能夠單純地用於數據冗餘(data redundancy),也能夠經過讓多個從服務器處理只讀命令請求來提高擴展性(scalability)。
7)能夠經過複製功能來讓主服務器免於執行持久化操做。安全
三、相關配置
1)配置一個從服務器很是簡單,只要在配置文件中增長如下的這一行就能夠了:服務器
2)另一種方法是調用slaveof命令,輸入主服務器的IP和端口,而後同步就會開始:網絡
3)啓動從服務器,進入客戶端,經過info replication命令能夠查看redis服務的信息異步
此時看到master_link_status值爲down,出現這個問題的緣由有不少。ui
重啓主機redis服務。
此時經過命令查看從服務器狀態能夠發現master_link_status值爲upscala
四、從服務器只讀
1)從redis2.6開始,從服務器支持只讀模式,而且該模式爲從服務器的默認模式。
2)只讀模式由redis.conf文件中的slave-read-only選項控制,也能夠經過CONFIG SET命令來開啓或關閉這個模式。(不建議)3d
五、從服務器配置
1)若是主服務器經過requirepass選項設置了密碼,那麼爲了讓從服務器的同步操做能夠順利進行,也必須爲從服務器進行相應的身份驗證設置。
2)config set masterauth <password>或者masterauth <password>server
六、主服務器其餘配置
1)從redis2.8開始,爲了保證數據的安全性,能夠經過配置,讓主服務器只在有至少N個當前已鏈接從服務器的狀況下,才執行寫命令。
2)用戶能夠經過配置,指定網絡延遲的最大值min-slaves-max-lag,以及執行寫操做所需的至少從服務器數量min-slaves-to-write。blog