1. 程式人生 > >Redis 部署主從哨兵 C#使用,實現自動獲取redis緩存 實例1

Redis 部署主從哨兵 C#使用,實現自動獲取redis緩存 實例1

tor 實例 註意 不能 arc ini read 沒有 ilove

源碼示例下載
鏈接: https://pan.baidu.com/s/1eTA63T4 密碼: un96

實現目標:
windows 下安裝 一臺master服務 一臺salve redis服務器 並且哨兵模式監控實現主從切換
本次在兩臺服務器上分別部署一個sentinel 哨兵

windows 下載地址https://github.com/MicrosoftArchive/redis/releases

A 10.55.8.110 B 10.55.8.111 兩臺windows 服務器

1、首先下載 windows 版本redis並解壓(官網是沒有windows版本)
A B 服務器上個各方一份

#修改A服務器上面的redis.windows.conf文件
port 6379
bind 10.55.8.110

#日誌存放
logfile "C:/Users/Administrator/Desktop/Redis/redis-6379.log"
#數據庫存放
dir "C:\\Users\\Administrator\\Desktop\\Redis"

#client 連接需要的密碼
requirepass abc12345!

#slave服務器連接需要的密碼
masterauth abc12345!
appendonly yes
maxmemory 8gb

修改B服務器上面的redis.windows.conf文件
port 6379
bind 10.55.8.111
logfile "C:/Users/Administrator/Desktop/Redis/redis-6379.log"
dir "C:\\Users\\Administrator\\Desktop\\Redis"
requirepass abc12345!
masterauth abc12345!
appendonly yes
#連接到主服務器
slaveof 10.55.8.110 6379

#slave 只讀
slave-read-only yes

maxmemory 8gb


#A B 服務器上分別創建兩個26379的文件夾
#創建 sentinel.conf 配置文件,並配置如下
port 26379

#master01

daemonize yes
sentinel monitor master01 10.55.8.110 6379 1

#sentinel認定為master失效的時間
sentinel down-after-milliseconds master01 30000

sentinel auth-pass master01 abc12345!

sentinel config-epoch master01 3

dir "C:\\Users\\Administrator\\Desktop\\Redis\\26379"
logfile "C:/Users/Administrator/Desktop/Redis/26379/sentinel-26379.log"


過程中常使用的命令
server redis-server.exe redis.windows.conf 啟動服務器
client redis-cli.exe -h 127.0.0.1 -p 6379 啟動客戶端
redis-server.exe c:\redis\26379\sentinel.conf --sentinel 啟動哨兵
info replication 查看主從設備狀況


安裝成服務
redis-server.exe --service-install --service-name redis6379service redis.windows.conf //安裝
redis-server --service-start --service-name redis6379service //啟動
redis-server --service-stop --service-name redis6379service redis.windows.conf //停止
redis-server.exe --service-uninstall --service-name redis6379service redis.windows.conf //卸載

總結和坑 :
1、了解redis的基本配置介紹 (https://www.cnblogs.com/qq78292959/archive/2013/09/21/3331032.html)
2、整個配置過程 註意兩臺服務器互通
3、配置文件時 如加slaveof 10.55.8.110 6379 需要去除slaveof前面的空格
不然redis識別不了
4、密碼驗證要註意,不然會無法通過

另外 目前主機A 當掉之後,哨兵監控會自動切換到B ,B變成master
哨兵的配置文件自動變為監控B

但是A重新啟動之後 ,還不能重新變為master,默認變為B的從屬
想要讓A重新變為主服務器 執行
redis-cli.exe -h 10.55.8.110 -p 26379
sentinel failover master01

Redis 部署主從哨兵 C#使用,實現自動獲取redis緩存 實例1