全部产品
Search
文档中心

:C#/.NET:EnyimMemcached

更新时间:Aug 08, 2023

客户端下载

客户端下载地址

客户端介绍

客户端版本介绍

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.GetHostEntry
 ("your_ocs_host").AddressList[0].ToString());//your_ocs_host替换为OCS内网地址
            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);
                  }
          }
}

依赖

调用代码:MemcachedClient MemClient = MemCached.getInstance();