博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#链接阿里云KVStore
阅读量:5902 次
发布时间:2019-06-19

本文共 3268 字,大约阅读时间需要 10 分钟。

KVStore的简单介绍

  阿里云KVStore兼容Redis。因为KVStore就相当于Redis的服务器端,我们代码只是当作客户端,链接上服务器端就行了,阿里云的KVStore详情文档见,。

C#客户端链接OCS

  1.阿里云文档上介绍的是用ServiceStack去链接KVStore。那我们项目中就用nuget去下载ServiceStack包。nuget搜索ServiceStack,搜索到的结果如下图,安装图中标识的就可以了。这个应该是最新的V4版本,当提醒你需要用商业版的时候,可以去还原之前的V3版本,具体还原方法见,。

  nuget搜索结果如下:

  2.安装好以后,写链接和调用kvstore的代码。其中_setting.AccessId, _setting.AccessKey, _setting.HostAddress,分别是KVStore的实例ID,链接密码和链接地址。

1 using ServiceStack.Redis;  2 //using ServiceStack.Text; 3 using ServiceStack.Common; 4 using System; 5 using System.Collections.Generic; 6 using System.Linq; 7 using System.Text; 8 using System.Threading.Tasks; 9 using System.Web.Script.Serialization; 10 using Zupo.Core.Caching; 11 using System.Text.RegularExpressions; 12 13 14 namespace KVStore 15 { 16 public class KVStoreService 17 { 18 19 IKVStoreSetting _setting; 20 private IRedisClient redisClient; 21 private bool linkServer = true; 22 23 public KVStoreService(IKVStoreSetting setting) 24 { 25 try 26 { 27 this._setting = setting; 28 //连接池模式 29 //string[] testReadWriteHosts = new[] { 30 //string.Format("redis://:{0}:{1}@{2}:6379",_setting.AccessId,_setting.AccessKey,_setting.HostAddress)/*redis://:实例id:密码@访问地址:端口*/ 31 //}; 32 //RedisClientManagerConfig RedisConfig = new RedisClientManagerConfig(); 33 //RedisConfig.AutoStart = true; 34 //RedisConfig.MaxReadPoolSize = 60; 35 //RedisConfig.MaxWritePoolSize = 60; 36 ////RedisConfig.VerifyMasterConnections = false;//需要设置 37 ////PooledRedisClientManager redisPoolManager = new PooledRedisClientManager(10/*连接池个数*/, 10/*连接池超时时间*/, testReadWriteHosts); 38 //PooledRedisClientManager redisPoolManager = new PooledRedisClientManager(10/*连接池个数*/, 10/*连接池超时时间*/, testReadWriteHosts); 39 //redisClient = redisPoolManager.GetClient();//获取连接 40 ////RedisNativeClient redisNativeClient = (RedisNativeClient)redisClient; 41 ////redisNativeClient.Client = null;//KVStore不支持client setname所以这里需要显示的把client对象置为null 42 //var dbSize = redisClient.DbSize; 43 44 //单链接模式 45 //string host = _setting.HostAddress;/*访问host地址*/ 46 //string password = string.Format("{0}:{1}", _setting.AccessId, _setting.AccessKey);/*实例id:密码*/ 47 //redisClient = new RedisClient(host, 6379, password); 48 //var dbSize = redisClient.DbSize; 49 50 RedisClientManagerConfig RedisConfig = new RedisClientManagerConfig(); 51 RedisConfig.AutoStart = true; 52 RedisConfig.MaxReadPoolSize = 60; 53 RedisConfig.MaxWritePoolSize = 60; 54 RedisConfig.DefaultDb = 1; //默认第一个db 55 56 PooledRedisClientManager prcm = new PooledRedisClientManager(new List
() { string.Format("{0}:{1}@{2}:6379", _setting.AccessId, _setting.AccessKey, _setting.HostAddress) }, 57 new List
() { string.Format("{0}:{1}@{2}:6379", _setting.AccessId, _setting.AccessKey, _setting.HostAddress) }, RedisConfig); 58 redisClient = prcm.GetClient(); 59 } 60 catch (Exception) 61 { 62 linkServer = false; 63 } 64 } 65 66 ///
67 /// 是否处于链接状态 68 /// 69 protected bool LinkServer 70 { 71 get 72 { 73 return linkServer; 74 } 75 } 76 77 ///
78 /// 根据传入的key-value添加一条记录,当key已存在返回false 79 /// 80 ///
81 ///
82 ///
83 ///
84 protected bool Add
(string key, T value) 85

转载于:https://www.cnblogs.com/xijianyao/p/4846348.html

你可能感兴趣的文章
[T-SQL]从变量与数据类型说起
查看>>
occActiveX - ActiveX with OpenCASCADE
查看>>
BeanUtils\DBUtils
查看>>
python模块--os模块
查看>>
Java 数组在内存中的结构
查看>>
《关爱码农成长计划》第一期报告
查看>>
学习进度表 04
查看>>
谈谈javascript中的prototype与继承
查看>>
时序约束优先级_Vivado工程经验与各种时序约束技巧分享
查看>>
minio 并发数_MinIO 参数解析与限制
查看>>
flash back mysql_mysqlbinlog flashback 使用最佳实践
查看>>
mysql存储引擎模式_MySQL存储引擎
查看>>
java 重写system.out_重写System.out.println(String x)方法
查看>>
配置ORACLE 11g绿色版客户端和PLSQL远程连接环境
查看>>
ASP.NET中 DataList(数据列表)的使用前台绑定
查看>>
Linux学习之CentOS(八)--Linux系统的分区概念
查看>>
System.Func<>与System.Action<>
查看>>
asp.net开源CMS推荐
查看>>
csharp skype send message in winform
查看>>
MMORPG 游戏服务器端设计--转载
查看>>