zoukankan      html  css  js  c++  java
  • Mencached工具类

      public class MemcachedHelper
        {
            private static MemcachedClient mc = null;
            static MemcachedHelper()
            {
                //从配置文件中获取比较好
                // string[] serverlist = { "127.0.0.1:11211", "10.0.0.132:11211" };
                string memcacheservers = ConfigurationManager.AppSettings["memcachSeverList"].ToString();
                string[] serverlist = memcacheservers.Split('|');
                //初始化池
                SockIOPool pool = SockIOPool.GetInstance();
                //设置服务器列表
                pool.SetServers(serverlist);
    
                pool.InitConnections = 3;//初始连接数  
                pool.MinConnections = 3;//最小连接数  
                pool.MaxConnections = 5;//最大连接数  
                pool.SocketConnectTimeout = 1000;//设置连接的套接字超时  
                pool.SocketTimeout = 3000;//设置套接字超时读取  
                pool.MaintenanceSleep = 30;//设置维护线程运行的睡眠时间。如果设置为0,那么维护线程将不会启动,30就是每隔30秒醒来一次  
    
                //获取或设置池的故障标志。  
                //如果这个标志被设置为true则socket连接失败,将试图从另一台服务器返回一个套接字如果存在的话。  
                //如果设置为false,则得到一个套接字如果存在的话。否则返回NULL,如果它无法连接到请求的服务器。  
                pool.Failover = true;
    
                pool.Nagle = false;//如果为false,对所有创建的套接字关闭Nagle的算法
                pool.Initialize();
    
                // 获得客户端实例
                mc = new MemcachedClient();
                //是否启用压缩数据:如果启用了压缩,数据压缩长于门槛的数据将被储存在压缩的形式
                mc.EnableCompression = false;
    
            }
    
            /// <summary>
            /// 添加缓存[默认过期时间30天]
            /// </summary>
            /// <param name="key"></param>
            /// <param name="value"></param>
            public static bool Set(string key, object value)
            {
                return mc.Set(key, value);
            }
            /// <summary>
            /// 添加缓存
            /// </summary>
            /// <param name="key"></param>
            /// <param name="value"></param>
            /// <param name="expriTime">设置过期时间 Datetime.Now.addDay(12)</param>
            public static bool Set(string key, object value, DateTime expriTime)
            {
                return mc.Set(key, value, expriTime);
            }
    
            /// <summary>
            /// 获取缓存
            /// </summary>
            /// <param name="key"></param>
            /// <returns></returns>
            public static object Get(string key)
            {
                return mc.Get(key);
            }
            /// <summary>
            /// 移除缓存
            /// </summary>
            /// <param name="key"></param>
            /// <returns></returns>
            public static bool Remove(string key)
            {
                return mc.Delete(key);
            }
    
            /// <summary>
            /// 缓存的“Key”是否存在
            /// </summary>
            /// <param name="key"></param>
            /// <returns></returns>
            public static bool IsExist(string key)
            {
                return mc.KeyExists(key);
            }
    
        }
    

      

  • 相关阅读:
    Vue3.0实战项目
    Vue 笔试题(做对九题即可成为前端懂王)
    CSS 响应式布局---Grid 布局
    CSS快速提升技巧(一)
    前端骨架屏
    Python学习29
    Python学习28
    Python学习27
    Python学习26
    Python学习25
  • 原文地址:https://www.cnblogs.com/kiamer2425/p/7882060.html
Copyright © 2011-2022 走看看