.Net程序测试使用阿里云OCS开放缓存服务

来源:互联网 发布:网络歌手好听的歌2008 编辑:程序博客网 时间:2024/05/18 01:46


首先需要有一个阿里的OCS实例和ECS云服务器

请确认这两个是在同一个可用区的,这个很重要!

这两个可以在阿里云官网申请得到

 

拿到OCS之后

进入OCS控制台,点击下面的客户端下载选择.Net客户端,或者直接点这里下载.Net客户端

http://img.blog.csdn.net/20141208200839484?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXExMDEwODg1Njc4/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

 

下载下来的是一个压缩文件,解压之后是可能是一个没有格式的文件,不要管它,用winrar或者其他的解压软件在解压一次

得到一个文件夹,里面放的是一个VS的解决方案,如图

http://img.blog.csdn.net/20141208201319382?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXExMDEwODg1Njc4/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

 

这就是一个客户端,双击打开解决方案

选择Enyim.Caching项目重新生成一下

http://img.blog.csdn.net/20141208201434902?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXExMDEwODg1Njc4/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

 

右键打开该项目所在的文件夹->bin->Debug

可以看到Enyim.Caching.dll这两个文件

http://img.blog.csdn.net/20141208201533246?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXExMDEwODg1Njc4/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

 

把这两个文件复制到新建的控制台项目中,然后添加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类的更多方法使用实例请看:

C#使用Memcached缓存数据示例


0 0
原创粉丝点击