Redis 部署主从哨兵 C#使用,实现自动获取redis缓存 实例1

时间:2024-01-23 15:53:50

源码示例下载
链接: 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