一、Redis主從配置
情況1:單台伺服器配置redis主從,如果是單台伺服器配置的redis主從,伺服器挂掉會導緻整個redis不可使用,配置主從的時候需要更換從redis的端口值。
情況2:多台伺服器配置redis主從,多台伺服器配置主從,好處在于一台伺服器挂掉并不會影響redis主從使用。
本文介紹單台伺服器本地配置redis主從,以下步驟
1、找到redis.conf 配置位置,複制一份配置命名随意
cp /usr/local/etc/redis.conf /usr/local/etc/redis_slave.conf
2、修改redis_slave.conf 配置:
##修改端口
port 6378
##配置主redis
slaveof 127.0.0.1 6379
3、先啟動主redis服務,再啟動從redis服務
#啟動主redis
redis-server
##啟動從redis
redis-server redis_slave.conf
成功時會出現提示:
1492:M 27 Jun 2019 17:19:19.735 * Synchronization with replica 127.0.0.1:6378 succeeded
主從配置成功redis會自動複制資料到從redis. 注意:當主從起來後,主節點可讀寫,從節點隻可讀不可寫
二、Sentinel 哨兵配置
解釋:哨兵模式是一種特殊的模式,首先Redis提供了哨兵的指令,哨兵是一個獨立的程序,作為程序,它會獨立運作。其原理是哨兵通過發送指令,等待Redis伺服器響應,進而監控運作的多個Redis執行個體。
哨兵模式:分單一哨兵和多哨兵模式
本文介紹多哨兵配置:
1、高版本的redis下載下傳的時候自帶了哨兵模式,找到配置檔案 redis-sentinel.conf 編譯安裝的可能是叫 sentinel.conf 都一樣
同一台伺服器要更改哨兵端口号
注意:外網使用的時候
redis.conf 中 protected-mode配置,預設是yes,即開啟。設定外部網絡連接配接redis服務,設定方式如下:
關閉protected-mode模式,此時外部網絡可以直接通路
開啟protected-mode保護模式,需配置bind ip或者設定通路密碼
打開redis-sentinel.conf配置有幾個值:
##監聽主redis的配置
##監控主節點的IP位址端口,sentinel監控的master的名字叫做mymaster,2代表,當叢集中有2個sentinel認為master死了時,才能真正認為該master已經不可用了
sentinel monitor mymaster 127.0.0.1 6379 2
##如果配置了密碼打開下面的注釋寫上密碼 格式: sentinel auth-pass mymaster 12345678
# sentinel auth-pass <master-name> <password>
2、更改好之後複制2份做3個哨兵服務
cp redis-sentinel.conf redis-sentinel-26380.conf
cp redis-sentinel.conf redis-sentinel-26381.conf
3、更改哨兵的配置端口
将三個檔案的端口改成: port 26379 port 26380 port 26381
4、啟動哨兵服務
redis-sentinel redis-sentinel.conf
redis-sentinel redis-sentinel-26380.conf
redis-sentinel redis-sentinel-26381.conf
檢視一下服務:ps -fe |grep "redis"
測試效果:
連結主redis
看一下主從redis的資料,很棒主從資料同步的。
第二步測試,停掉主redis的運作
等上幾秒鐘,看一下我們的哨兵幹了啥
切換了主從redis的服務。
那麼在從剛剛的端口查一下資料看看能不能查到,嗯?? 挂掉了,也就是說雖然切換了主從但是redis連結方式并沒有變,是以是要連結6378
續:重新啟動redis 6379 變成從伺服器redis。
本章結束,下章看一下主從及其哨兵在php中的使用
借鑒文章:https://www.jianshu.com/p/06ab9daf921d
https://www.cnblogs.com/leeSmall/p/8398401.html