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


    

    首先需要有一个阿里的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缓存数据示例


  • 相关阅读:
    java---随机点名
    java实现窗体JFrame加载动态图片
    微信小程序--登陆页面
    java基础--随机数 猜数字游戏
    jQuery表单验证
    js获取Id,标签,类的几种选择器封装
    轮播图
    关于mysql安全
    PHP5.4开启zend opcache缓存
    ccs3中icon转换为字体的方法
  • 原文地址:https://www.cnblogs.com/jchubby/p/4429710.html
Copyright © 2020-2023  润新知