当前位置: 首页 > article >正文

针对net core 使用CSRedis 操作redis的三种连接实例方式

1、主从访问

2、哨兵模式

3、集群访问

写法一:写任意一个地址即可,其它节点在运行过程中自动增加,确保每个节点密码一致。如:
        Console.WriteLine("集群测试");
        RedisHelper.Initialization(new CSRedis.CSRedisClient("192.168.20.66:6379,password=123456,defaultDatabase=0"));
        RedisHelper.Set("name1", "ypf1"); //对应的槽位在6384端口上
        RedisHelper.Set("name2", "ypf2"); //对应的槽位在6379端口上
        var data1 = RedisHelper.Get<String>("name1");
        var data2 = RedisHelper.Get<String>("name2");
        Console.WriteLine($"data1={data1}");
        Console.WriteLine($"data2={data2}");
        Console.WriteLine("执行完毕");
写法二
        {
                Console.WriteLine("集群测试");
                var csredis = new CSRedis.CSRedisClient(null,
                            "192.168.137.202:6379,password=123456,defaultDatabase=0",
                            "192.168.137.202:6380,password=123456,defaultDatabase=0",
                            "192.168.137.202:6381,password=123456,defaultDatabase=0",
                            "192.168.137.202:6382,password=123456,defaultDatabase=0",
                            "192.168.137.202:6383,password=123456,defaultDatabase=0",
                            "192.168.137.202:6384,password=123456,defaultDatabase=0");
                RedisHelper.Initialization(csredis);

                RedisHelper.Set("name1", "ypf1");     //对应的槽位在6384端口上
                RedisHelper.Set("name2", "ypf2");     //对应的槽位在6379端口上
                var data1 = RedisHelper.Get<String>("name1");
                var data2 = RedisHelper.Get<String>("name2");
                Console.WriteLine($"data1={data1}");
                Console.WriteLine($"data2={data2}");

                Console.WriteLine("执行完毕");
 ConfigurationOptions sentinelOptions = new ConfigurationOptions();
            sentinelOptions.EndPoints.Add("180.76.*.*", 26379);
            sentinelOptions.EndPoints.Add("180.76.*.*", 26380);
            sentinelOptions.EndPoints.Add("180.76.*.*", 26381);
            sentinelOptions.TieBreaker = "";
            sentinelOptions.CommandMap = CommandMap.Sentinel;
            sentinelOptions.AbortOnConnectFail = false;
            // Connect!
            ConnectionMultiplexer sentinelConnection = ConnectionMultiplexer.Connect(sentinelOptions);

            // Get a connection to the master
            ConfigurationOptions redisServiceOptions = new ConfigurationOptions();
            redisServiceOptions.ServiceName = "mymaster1";   //master名称
            redisServiceOptions.Password = "redis_pwd";     //master访问密码
            redisServiceOptions.AbortOnConnectFail = true;
            ConnectionMultiplexer masterConnection = sentinelConnection.GetSentinelMasterConnection(redisServiceOptions);

            var db  = masterConnection.GetDatabase();
            var value= db.StringGet("testKey");
            Console.WriteLine($"[Use StackExchange-Redis] The remote redis-sentinel test key value:{


http://www.kler.cn/news/150149.html

相关文章:

  • Typescript中 interface 和 type 的区别是什么?
  • 后端Java日常实习生面试(七牛云2023年11月14日)
  • php通过curl方式发送接受xml数据
  • HarmonyOS入门开发(三) 持久化存储Preferences
  • day65 django回顾3
  • WordPress 粘贴图片上传插件
  • pytorch 多卡并行训练
  • 【Qt之QFileInfo】使用
  • Redis 事件轮询
  • HarmonyOS(七)——@BuilderParam装饰器
  • Flink-时间窗口
  • 解决electron-builder打包不成功只能输出tgz文件的问题
  • 函数的极值与最值
  • 【C 语言经典100例】C 练习实例1
  • NMap扫描进阶
  • [黑马程序员SpringBoot2]——开发实用篇3
  • 手机一键“触达”!VR全景助力政务服务大厅数字升级
  • Linux常用命令——rm 命令
  • c语言编程题经典100例——(36~40例)
  • Es6笔记之箭头函数与解构赋值
  • Day60.算法训练
  • 基于C#实现Prim算法
  • 不同路径 II(力扣LeetCode)动态规划
  • 荒野大镖客提示找不到emp.dll文件的5个修复方法-快速修复dll教程
  • ZYNQ_project:lcd_pic_400x400
  • springboot 返回problem+json
  • 【云备份】第三方库的认识与使用
  • go模版引擎的使用~~
  • 【c语言】二维数组的对角线对称交换
  • LeetCode 60. 排列序列【数学,逆康托展开】困难