码迷,mamicode.com
首页 > 其他好文 > 详细

CSRedisCore集群搭建

时间:2020-07-16 20:59:04      阅读:107      评论:0      收藏:0      [点我收藏+]

标签:掉线   内存数据   dex   main   ISE   稳定性   保护模式   prefix   添加   

我们都知道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集群搭建完成

CSRedisCore集群搭建

标签:掉线   内存数据   dex   main   ISE   稳定性   保护模式   prefix   添加   

原文地址:https://www.cnblogs.com/likui-bookHouse/p/13324033.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!