Redis 主从、哨兵部署
使用Redis For Windows部署Redis主从和哨兵集群,实例为一主二从三哨兵。Redis文件夹如下,因为需要启动多个实例,所以需要准备多份redis.conf,将redis.windows.conf拷贝六份,根据主从、哨兵信息命名。
下载地址 https://github.com/microsoftarchive/redis/releases
主库配置为:
port:6379
#需要密码连接
requirepass:test
bind 0.0.0.0
从库1配置为:
port:6380
#配置master
slaveof 127.0.0.1 6379
# 从库优先级
slave-priority 100
requirepass "test"
masterauth "test"
dbfilename dump6380.rdb
bind 0.0.0.0
从库2配置为:
port:6381
#配置master
slaveof 127.0.0.1 6379
# 从库优先级
slave-priority 80
requirepass "test"
masterauth "test"
dbfilename dump6381.rdb
bind 0.0.0.0
主从连接验证, 依次启动上述主从实例后,从库向主库发送slaveof命令创建同步连接。
主从同步验证,在主库写入数据后,同步至从库。
哨兵配置为:
#三个哨兵port依次为26379,26380,26381,其余配置保持一致
port 26379
#配置master信息,2个sentinel选举成功后才有效,哨兵通过主库可以得到从库的IP、Port再进行连接
sentinel monitor master_6379 127.0.0.1 6379 2
#判断主master的挂机时间(毫秒),超时未返回正确信息后标记为sdown状态(主观下线)
sentinel down-after-milliseconds master_6379 5000
#若sentinel在该配置值内未能完成failover操作(即故障时master/slave自动切换),则认为本次failover失败。
sentinel failover-timeout master_6379 18000
以哨兵模式启动
哨兵集群信息
主从切换
注销6379主库实例,哨兵先判断主库实例已经下线,然后再进行主库选举。在两个从库网络均良好时,由于我们给两个从库配置的优先级不一致,6380实例优于6381,所以将6380选择为了新主库。6379和6381对应的Redis.conf文件也被更新为了新的主从库配置信息,在6379实例重启后,向新主库6380实例发起同步请求。哨兵实例conf文件中主库配置也被自动替换为了新的主库信息。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)