CSRedisCore集群搭建
我们都知道redis是内存数据库,数据都存储在内存当中,当redis服务宕机了,就没有可用的服务了,请求数据就会失败,所以我们需要搭建多个服务(集群),当单个服务崩溃后,其他服务选择一个替代死掉的服务,继续工作。提高程序的稳定性。废话不多说了。
将压缩包解压然后复制,总共3份,我们搭建1主2从模式,redis6379(主),redis6479(从),redis6579(从)
主redis配置,进入redis6379目录中,配置 redis.windows.conf
#配置IP绑定 bind 0.0.0.0 #配置端口 port 6379 #是否保护模式 protected-mode no
目录下加个run.bat文件,便于双击启动服务
redis-server redis.windows.conf
从Redis配置,分别进入redis6479和redis6579目录,配置redis.windows.conf,并添加run.bat文件
#配置IP绑定 bind 0.0.0.0 #配置端口 port 6479 #是否保护模式 protected-mode no #配置主redisd的IP和端口 replicaof 127.0.0.1 6579
现在Redis配置好了,运行3个Redis目录中的run.bat启动服务,运行后可以看到主从都成功连接。
搭建哨兵
实际使用中一般会使用多个哨兵进行监控,本文作了简化,只使用1个哨兵,多个哨兵都是相同的配置,仅区分端口。
将Redis目录复制一份命名为RedisSentinel,添加sentinel.conf文件,内容如下:
#哨兵运行IP和端口 bind 127.0.0.1 port 27000 #非保护模式运行 protected-mode no #监控的主Redis的IP和端口,1表示1个哨兵 sentinel monitor redis-master 127.0.0.1 6379 1 #主机掉线以后5s进行认证,如果无法连接则重新由哨兵从slave中选出新的master sentinel down-after-milliseconds redis-master 5000 sentinel failover-timeout redis-master 60000
cmd通过命令运行哨兵 :
redis-server sentinel.conf --sentinel
启动成功
也可通过命令查看哨兵状态
redis-cli -p 27000 info sentinel
创建控制台应用程序,
static void Main(string[] args) { //var csredis = "127.0.0.1:27000,password=123456,defaultDatabase=1,prefix="; //连接哨兵,并初始化 RedisHelper.Initialization(new CSRedis.CSRedisClient("redis-master",new string[] { "127.0.0.1:27000"})); while (true) { Test(); } Console.ReadKey(); } static void Test() { try { // 列表 //删除指定key的列表 RedisHelper.Del("list"); RedisHelper.RPush("list", "第一个元素"); RedisHelper.RPush("list", "第二个元素"); Console.WriteLine($"list的长度为{RedisHelper.LLen("list")}"); Console.WriteLine($"list的第二个元素为{RedisHelper.LIndex("list", 1)}"); Thread.Sleep(1000); } catch (Exception ex) { Console.WriteLine("error:"+ex.Message); } }
执行结果:
这样一个简易的redis集群搭建完成
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术