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

1、主从访问

2、哨兵模式

3、集群访问

cs 复制代码
写法一:写任意一个地址即可,其它节点在运行过程中自动增加,确保每个节点密码一致。如:
        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("执行完毕");
cs 复制代码
写法二
        {
                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("执行完毕");
cs 复制代码
 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:{
相关推荐
技术宝哥3 小时前
Redis(2):Redis + Lua为什么可以实现原子性
数据库·redis·lua
学地理的小胖砸4 小时前
【Python 操作 MySQL 数据库】
数据库·python·mysql
呦呦鹿鸣Rzh4 小时前
缓存的相关内容
缓存
dddaidai1234 小时前
Redis解析
数据库·redis·缓存
数据库幼崽5 小时前
MySQL 8.0 OCP 1Z0-908 121-130题
数据库·mysql·ocp
Amctwd5 小时前
【SQL】如何在 SQL 中统计结构化字符串的特征频率
数据库·sql
工一木子5 小时前
【Java项目脚手架系列】第七篇:Spring Boot + Redis项目脚手架
java·spring boot·redis
betazhou5 小时前
基于Linux环境实现Oracle goldengate远程抽取MySQL同步数据到MySQL
linux·数据库·mysql·oracle·ogg
lyrhhhhhhhh6 小时前
Spring 框架 JDBC 模板技术详解
java·数据库·spring
喝醉的小喵7 小时前
【mysql】并发 Insert 的死锁问题 第二弹
数据库·后端·mysql·死锁