Redis 安装成windows服务- 一主二从三哨兵,sentinel安装为Windows服务
这里只做记录说明
Redis的主从配置网上很多文章,百度一大堆,安装流程应该都可以配置通。我使用的这篇文章
https://blog.csdn.net/u010648555/article/details/79427606
配置完成主从后,继续哨兵的配置,同样网上很多文章,我参考
https://blog.csdn.net/u010648555/article/details/79430105
在配置哨兵的过程中遇到问题,哨兵搭建都成功,相互之间也知道对方的存在,就是无法通信,无法启动故障迁移。
原因主要是因为 sentinel.conf 配置确实一个配置,不过添加那一句貌似就裸奔了,要完善处理,可以参考这骗文章:
https://www.cnblogs.com/zhoujinyi/p/5585723.html
我测试时添加了
1 | protected -mode no |
正式环境建议研究配置,都给密码,改端口
如下时我的 sentinel.conf 完整配置
# 这个是Redis6379配置内容,其他文件同理新增然后改一下端口即可,26380,和 26381。 #当前Sentinel服务运行的端口 port 26379 protected-mode no # 哨兵监听的主服务器 sentinel monitor mymaster 127.0.0.1 6379 2 # 3s内mymaster无响应,则认为mymaster宕机了 sentinel down-after-milliseconds mymaster 3000 #如果10秒后,mysater仍没启动过来,则启动failover sentinel failover-timeout mymaster 10000 # 执行故障转移时, 最多有1个从服务器同时对新的主服务器进行同步 sentinel parallel-syncs mymaster 1
修改后即可测试成功自动迁移。
下面就是把Redis和Sentinel都弄成Windows 的服务运行。
将Redis做成服务运行,这篇文章也说得清楚,
https://www.cnblogs.com/zoro-zero/p/6437519.html
不过没有说将哨兵做成服务。下面是我自己测试成功,可以将哨兵做成服务的脚本
(在redis目录下执行,管理员执行)
//删除服务,默认的Redis redis-server --service-uninstall //删除服务,指定的服务名称 redis-server --service-uninstall --service-name RedisService1 //安装redis redis-server --service-install redis.windows.conf --loglevel verbose //安装其他名称的服务 redis-server --service-install --service-name redisService1 --port 10001 //将Sentinel安装为Windows服务 redis-server --service-install sentinel.conf --sentinel --service-name RedisSentinel --port 26379
另外,测试哨兵的时候,这个命令也很好用,比 shutdown 方便。
测试利器, debug sleep 0.1就相当于执行了一条开销为100ms的命令
1 2 3 | 127.0.0.1:6379> debug sleep 1 OK (1.00s) |
debug error
测试利器, debug error,redis直接会返回一个错误应答
1 2 | 127.0.0.1:6379> debug error "test" (error) test |
· 领域模型应用
· 记一次 ADL 导致的 C++ 代码编译错误
· MySQL查询执行顺序:一张图看懂SQL是如何工作的
· 为什么PostgreSQL不自动缓存执行计划?
· 于是转身独立开发者
· C#/.NET/.NET Core优秀项目和框架2025年6月简报
· Cursor 1.2重磅更新,这个痛点终于被解决了!
· C#开发的Panel滚动分页控件(滑动版) - 开源研究系列文章
· 上周热点回顾(6.30-7.6)
· .NET AI 模板