OCS 使用

|▌冷眼眸甩不掉的悲伤 提交于 2020-02-10 17:35:01

C#/.net 代码样例:

using System.Net;
using Enyim.Caching;
using Enyim.Caching.Configuration;
using Enyim.Caching.Memcached;
namespace OCS.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();
            IPAddress newaddress = 
   IPAddress.Parse(Dns.GetHostByName
 ("your_instanceid.m.cnhzalicm10pub001.ocs.aliyuncs.com").AddressList[0].ToString());//your_instanceid替换为你的OCS实例的ID
            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);
                  }
          }
}

  调用代码:

1.添加KEY

  MemcachedClient MemClient = MemCached.getInstance();
  MemClient.Store(StoreMode.Add, "MYKEY", "This is store in memcached server value!");

2.替换KEY

  MemcachedClient MemClient = MemCached.getInstance();
  MemClient.Store(StoreMode.Replace, "MYKEY", "This is store in memcached server value111!");

3.删除KEY

  MemcachedClient MemClient = MemCached.getInstance();
  MemClient.Remove("MYKEY");

客户端下载地址:https://github.com/enyim/EnyimMemcached/downloads

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!