1. 程式人生 > >Redis--叢集--主從模式--哨兵模式

Redis--叢集--主從模式--哨兵模式

主從複製
1.一個redis服務有多個該服務的複製品,這個redis服務稱為master,其他複製品稱為slaves
2.主從會保持資料同步
3.只有master可以執行寫命令,slave只能執行讀命令(預設)
4.主從複製的建立
1)建立一個從節點:redis-server --port 6379 --slaveof master-ip master-port
2)先啟動一個redis服務,在客戶端裡轉為從
>slaveof master-ip master-port
在客戶端裡由從轉為主
>slaveof no one
客戶端連線:redis-cli -h ip -p port -n dbnum
3)配置檔案方式:啟動時讀取配置檔案。6380.conf
slaveof ip port
port 6380
redis-server 6380.conf
5.主從複製問題
master down,需要手動將一臺slave使用slaveof no one提升為master
要實現自動,就需要redis哨兵

redis高可用哨兵

1.啟動一個執行在Sentine模式下的redis服務例項
redis-sentinel
redis-server /path/to/sentinel.conf --sentinel
每個sentinel可以監控任意多個master和該master下的slaves
監控同一個master的sentinel會自動連線,有投票,類似zk,3個節點

2.sentinel配置檔案
至少包含一個監控配置選項,用於監控master
sentinel monitor name ip port quorum(至少要有幾個投票),例如:
sentinel monitor mymaster 127.0.0.1 6379 2
sentinel預設埠26379
$redis-sentinel sentinel1.conf
port 26379
sentinel monitor s1 127.0.0.1 6379 2
每臺機器配置一個sentinel即可。

3.先啟動redis主從,後啟動sentinel