阿里云-Redis-Help-连接实例-Redis客户端连接:C#客户端StackExchange.Redis
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了阿里云-Redis-Help-连接实例-Redis客户端连接:C#客户端StackExchange.Redis,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3985字,纯文字阅读大概需要6分钟。
内容图文
![阿里云-Redis-Help-连接实例-Redis客户端连接:C#客户端StackExchange.Redis](/upload/InfoBanner/zyjiaocheng/1247/7856bf9aed424599b80d82a1a3cf7c89.jpg)
ylbtech-阿里云-Redis-Help-连接实例-Redis客户端连接:C#客户端StackExchange.Redis |
1.返回顶部 |
C#客户端StackExchange.Redis
操作步骤如下所示:
- 下载并安装StackExchange.Redis。
- 添加引用。
using StackExchange.Redis;
- 初始化ConnectionMultiplexer。
ConnectionMultiplexer是StackExchange.Redis的核心,它被整个应用程序共享和重用,应该设置为单例,它的初始化如下:
// redis configprivatestatic ConfigurationOptions configurationOptions = ConfigurationOptions.Parse("127.0.0.1:6379,password=xxx,connectTimeout=2000"); //the lock for singletonprivatestaticreadonlyobject Locker = newobject(); //singletonprivatestatic ConnectionMultiplexer redisConn; //singletonpublicstatic ConnectionMultiplexer getRedisConn() { if (redisConn == null) { lock (Locker) { if (redisConn == null || !redisConn.IsConnected) { redisConn = ConnectionMultiplexer.Connect(configurationOptions); } } } return redisConn; }
说明ConfigurationOptions包含很多选项,例如keepAlive、connectRetry、name,具体可以参考StackExchange.Redis.ConfigurationOptions。
- GetDatabase()返回的对象是轻量级的,每次用的时候从ConnectionMultiplexer对象中获取即可。
redisConn = getRedisConn(); var db = redisConn.GetDatabase();
- 下面给出5种数据结构的demo,它们的API和原生略有不同,分别用String、Hash、List、Set、SortedSet开头代表5种数据结构。
string:
//set getstring strKey = "hello"; string strValue = "world"; bool setResult = db.StringSet(strKey, strValue); Console.WriteLine("set " + strKey + "" + strValue + ", result is " + setResult); //incrstring counterKey = "counter"; long counterValue = db.StringIncrement(counterKey); Console.WriteLine("incr " + counterKey + ", result is " + counterValue); //expire db.KeyExpire(strKey, new TimeSpan(0, 0, 5)); Thread.Sleep(5 * 1000); Console.WriteLine("expire " + strKey + ", after 5 seconds, value is " + db.StringGet(strKey)); //mset mget KeyValuePair<RedisKey, RedisValue> kv1 = new KeyValuePair<RedisKey, RedisValue>("key1", "value1"); KeyValuePair<RedisKey, RedisValue> kv2 = new KeyValuePair<RedisKey, RedisValue>("key2", "value2"); db.StringSet(new KeyValuePair<RedisKey, RedisValue>[] {kv1,kv2}); RedisValue[] values = db.StringGet(new RedisKey[] {kv1.Key, kv2.Key}); Console.WriteLine("mget " + kv1.Key.ToString() + "" + kv2.Key.ToString() + ", result is " + values[0] + "&&" + values[1]);
- hash
string hashKey = "myhash"; //hset db.HashSet(hashKey,"f1","v1"); db.HashSet(hashKey,"f2", "v2"); HashEntry[] values = db.HashGetAll(hashKey); //hgetall Console.Write("hgetall " + hashKey + ", result is"); for (int i = 0; i < values.Length;i++) { HashEntry hashEntry = values[i]; Console.Write("" + hashEntry.Name.ToString() + "" + hashEntry.Value.ToString()); } Console.WriteLine();
- list
//list keystring listKey = "myList"; //rpush db.ListRightPush(listKey, "a"); db.ListRightPush(listKey, "b"); db.ListRightPush(listKey, "c"); //lrange RedisValue[] values = db.ListRange(listKey, 0, -1); Console.Write("lrange " + listKey + " 0 -1, result is "); for (int i = 0; i < values.Length; i++) { Console.Write(values[i] + ""); } Console.WriteLine();
- set
//set keystring setKey = "mySet"; //sadd db.SetAdd(setKey, "a"); db.SetAdd(setKey, "b"); db.SetAdd(setKey, "c"); //sismemberbool isContains = db.SetContains(setKey, "a"); Console.WriteLine("set " + setKey + " contains a is " + isContains );
- sortedset
string sortedSetKey = "myZset"; //sadd db.SortedSetAdd(sortedSetKey, "xiaoming", 85); db.SortedSetAdd(sortedSetKey, "xiaohong", 100); db.SortedSetAdd(sortedSetKey, "xiaofei", 62); db.SortedSetAdd(sortedSetKey, "xiaotang", 73); //zrevrangebyscore RedisValue[] names = db.SortedSetRangeByRank(sortedSetKey, 0, 2, Order.Ascending); Console.Write("zrevrangebyscore " + sortedSetKey + " 0 2, result is "); for (int i = 0; i < names.Length; i++) { Console.Write(names[i] + ""); } Console.WriteLine();
2. 返回顶部 |
3. 返回顶部 |
4. 返回顶部 |
5.返回顶部 |
6. 返回顶部 |
![]() |
作者:ylbtech
出处:http://ylbtech.cnblogs.com/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 |
原文:https://www.cnblogs.com/storebook/p/12657977.html
内容总结
以上是互联网集市为您收集整理的阿里云-Redis-Help-连接实例-Redis客户端连接:C#客户端StackExchange.Redis全部内容,希望文章能够帮你解决阿里云-Redis-Help-连接实例-Redis客户端连接:C#客户端StackExchange.Redis所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。