redis之主從同步簡單設置

 

一、配置多個redis-conf

首先編輯多個redis-conf文件,將端口、守護進程、rdb、log、aof所有設置爲本身的內容,方便觀察不一樣的端口不一樣的區份內容redis

這裏我配置啦三個端口的redis,分別是:6379 6380 6381,模擬三臺redis服務器vim

二、配從不配主

主從複製,只須要配置從機便可,主機能夠不配置;服務器

2.一、查看當前三個redis的狀態與主從標識

info replication

圖中標的三臺redis所有式master,即主機,而且沒有任何的從機spa

2.二、設置從機

分別在80 81的操做端,進行設置本身的主機(如今是本地的不一樣端口)code

127.0.0.1:6380> slaveof 127.0.0.1 6379
127.0.0.1:6381> slaveof 127.0.0.1 6379

設置完畢以後,從新查看主從標識進程

如今就能夠主從複製啦:ip

2.三、若是三個機器同時操做一個key,結果會怎樣?

其實吧,從機是不能寫內容,只能讀it

三、若是master/slave掛掉了

兩個slave(80 81)會怎樣?io

3.一、master掛了,猜想:

3.1.一、從新選老大(當前配置,錯誤) 二、保持不動(當前配置,正確)

實際上是保持不動,老大走了,臨走以前啥都沒說,誰也不敢上位呀;ast

3.1.二、老大又回來啦(幸好沒人上位,否則感受要遭殃呀)

79回來啦,主從狀態又如何?

猜想:一、主從保持原樣(當前配置,正確) 二、很差意思,不認你作老大

本身嘗試吧;

3.二、從機掛了

任何從機掛了,當前的配置方式,掛掉的從機直接還原到原始模式即master模式,與上次的主機沒有任何的聯繫;

 

3.三、若是主機掛掉了,人工能夠手動從新設置原來的從機,成爲新的主機

將80重置爲主機模式,81不動(仍是從機slave模式),

而後從新設置81的主機是80,結果就不截圖啦

要是生產環境master在凌晨掛了,我TM還要起來手動設置??????

四、哨兵模式

master容易掛掉,我就搞一個站崗的,redis提供一個哨兵服務,

當master掛掉以後,哨兵組織當前主機的全部從機進行「投票」,票多者晉升爲老大。

查看當前的主從機狀態:

建立sentinel.conf文件,

cd /usr/myredis
touch sentinel.conf
vim sentinel.conf

在sentinel.conf中:

sentinel monitor host3679 127.0.0.1 6379 1
//監控的機器名稱(隨意) ip port 投票爲1,則成爲主機(具體投票規則,我不知道,可是sentinel本身完成)

最終個人單獨配置文件含有:

進入redis啓動文件所在目錄:

cd /usr/local/bin

執行;哨兵就會監控下面的主機與端口

注意不要將上面的窗口關閉。

此時,咱們將主機(6379)shutdown

切換到哨兵的窗口(shutdown以後須要等待一分鐘左右哨兵才能完成投票與切換主機):

會發現哨兵本身投票,本身切換從機(81)爲主機

相關文章
相關標籤/搜索