.Net程序测试使用阿里云OCS开放缓存服务
2024-09-06 10:04:23
首先需要有一个阿里的OCS实例和ECS云服务器
请确认这两个是在同一个可用区的,这个很重要!
这两个可以在阿里云官网申请得到
拿到OCS之后
进入OCS控制台,点击下面的客户端下载选择.Net客户端,或者直接点这里下载.Net客户端
下载下来的是一个压缩文件,解压之后是可能是一个没有格式的文件,不要管它,用winrar或者其他的解压软件在解压一次
得到一个文件夹,里面放的是一个VS的解决方案,如图
这就是一个客户端,双击打开解决方案
选择Enyim.Caching项目重新生成一下
右键打开该项目所在的文件夹->bin->Debug
可以看到Enyim.Caching.dll这两个文件
把这两个文件复制到新建的控制台项目中,然后添加dll引用
新建MemCached类,代码如下:
public sealed class MemCached
{
private static MemcachedClient MemClient;
static readonly object padlock = new object();
//线程安全的单例模式
public static MemcachedClient getInstance()
{
if (MemClient == null)
{
lock (padlock)
{
if (MemClient == null)
{
MemClientInit();
}
}
}
return MemClient;
} static void MemClientInit()
{
//初始化缓存
MemcachedClientConfiguration memConfig = new MemcachedClientConfiguration();
string address = Dns.GetHostByName
("your_instanceid.m.cnszalist3pub001.ocs.aliyuncs.com").AddressList[0].ToString();//your_instanceid替换为你的OCS实例的ID
IPAddress newaddress =
IPAddress.Parse(address);
IPEndPoint ipEndPoint = new IPEndPoint(newaddress, 11211); // 配置文件 - ip
memConfig.Servers.Add(ipEndPoint);
// 配置文件 - 协议
memConfig.Protocol = MemcachedProtocol.Binary;
// 配置文件-权限
memConfig.Authentication.Type = typeof(PlainTextAuthenticator);
memConfig.Authentication.Parameters["zone"] = "";
memConfig.Authentication.Parameters["userName"] = "username";
memConfig.Authentication.Parameters["password"] = "password";
//下面请根据实例的最大连接数进行设置
memConfig.SocketPool.MinPoolSize = 5;
memConfig.SocketPool.MaxPoolSize = 200;
MemClient = new MemcachedClient(memConfig);
}
}
以上是阿里官方提供的示例代码修改版,原版复制过来有点错误
注意:
string address = Dns.GetHostByName
("your_instanceid.m.cnszalist3pub001.ocs.aliyuncs.com").AddressList[0].ToString();//your_instanceid替换为你的OCS实例的ID
Dns.GetHostByName方法里面的字符串要从OCS控制台那边的内网地址复制过来
上次因为只复制了实例ID替换了your_instanceid,结果调了两天都没好
在控制台主函数中调用MemCached类的getInstance方法得到一个MemcachedClient对象并调用方法向OCS中插入数据
static void Main(string[] args)
{
MemcachedClient client = MemCached.getInstance();
client.Store(Enyim.Caching.Memcached.StoreMode.Set, "1", "2");
Console.ReadKey();
}
到OCS控制台查看插入的数据
测试结束
关于.Net客户端MemcachedClient类的更多方法使用实例请看:
最新文章
- GitHub实战系列~1.环境部署+创建第一个文件 2015-12-9
- Nginx 反代理其他搜索引擎
- Java多线程开发系列之二:如何创建多线程
- loose coupling之函数签名
- javascript垃圾回收机制
- 操作数据库系统(OLTP)和联机分析处理系统(OLAP)的区别
- 分享书籍[writing idiomatic python ebook] 二
- memcached在windows7上的安装问题
- Ubuntu16.04下部署 nginx+uwsgi+django1.9.7(虚拟环境pyenv+virtualenv)
- c++ static用法总结【转载】
- DEDECMS首页调用图片集里的多张图片
- Android Gradle使用总结
- ubuntu18.04 pip换源 永久修改
- 权限管理demo-Http请求前后监听工具
- JAVA Random 随机类
- perl 读写文件
- ArcGIS Runtime SDK for iOS开发地图图层-图形图层
- HeadFIrst Ruby 第二章总结 methods and classes
- 针对于多个inner join或者left join多条件查询的时候,各个inner join 的指向问题
- 01 Maven 安装与配置
热门文章
- Angular(三)
- HDU 1867 A + B for you again ----KMP
- sql 取一张表的全部外键
- 理想中的SQL语句条件拼接方式
- 使用 WideCharToMultiByte Unicode 与 UTF-8互转
- kubernetes 搭建集群外部ip服务
- python--bs4
- (11)oracle触发器
- Python与数据库[0] ->; 数据库概述
- Python的扩展接口[2] ->; 动态链接库DLL[1] ->; 组件对象模型 COM 的 Python 调用