• 分布式缓存MemCache


    .NET版本服务端    http://pan.baidu.com/share/link?shareid=3505343637&uk=3928651495

    .NET版本客户端    http://pan.baidu.com/share/link?shareid=3511558869&uk=3928651495

    封装类

    /// <summary>
        /// MemCache帮助类
        /// 根据配置文件里的Serverlist节点读取分布式缓存服务器列表 格式为 "127.0.0.1:11211" ,"127.0.0.2:11211" 
        /// 如果Web.config未配置。则服务器默认为 127.0.0.1:11211
        /// </summary>
        public class CachedHelper
        {
    
            /// <summary>
            /// 设置缓存_如果KEY存在_则更新
            /// </summary>
            /// <param name="Key">Key</param>
            /// <param name="Value">Value</param>
            /// <param name="times">过期时间点_为当前时间加上此值(单位为妙)</param>
            public static void SetMemCache(string Key, object Value, double times)
            {
                SockIOPool pool;
                MemcachedClient mc;
                init(out pool, out mc);
                mc.Set(Key, Value, DateTime.Now.AddSeconds(times));
                pool.Shutdown();//关闭连接池
            }
    
            /// <summary>
            /// 设置缓存_如果KEY存在_则更新
            /// </summary>
            /// <param name="Key">Key</param>
            /// <param name="Value">Value</param>
            public static void SetMemCache(string Key, object Value)
            {
    
                SockIOPool pool;
                MemcachedClient mc;
                init(out pool, out mc);
                mc.Set(Key, Value);
                pool.Shutdown();//关闭连接池
            }
    
            /// <summary>
            /// 根据Key读取缓存_如果读不到_返回空字符串
            /// </summary>
            /// <param name="Key"></param>
            /// <returns></returns>
            public static object GetMemcache(string Key)
            {
                SockIOPool pool;
                MemcachedClient mc;
                init(out pool, out mc);
                object value = mc.Get(Key) ?? "";
                pool.Shutdown();//关闭连接池
                return value;
    
            }
            /// <summary>
            /// 服务器初始化
            /// </summary>
            /// <param name="pool"></param>
            /// <param name="mc"></param>
            private static void init(out SockIOPool pool, out MemcachedClient mc)
            {
                string ConServerlist = System.Configuration.ConfigurationManager.AppSettings.Get("Serverlist");
                if (string.IsNullOrEmpty(ConServerlist))
                {
                    ConServerlist = "127.0.0.1:11211";
                }
                ///初始化memcached 服务器端集群列表。
                string[] serverlist = ConServerlist.Split(',');
                pool = SockIOPool.GetInstance("MemCache");
                //设置怎么mem池连接点服务器端。
                pool.SetServers(serverlist);
                pool.Initialize();
                //创建了一个mem客户端的代理类。
                mc = new MemcachedClient();
                mc.PoolName = "MemCache";
                mc.EnableCompression = false;
            }
    
    
        }
  • 相关阅读:
    一个简短的yahoo YUI介绍
    备忘录
    海量数据库查询
    asp.net webshell 解决 方案
    IE=EmulateIE7 标签的作用
    WINDOWS 2003 IIS网站防木马权限设置安全配置整理
    C语言各种函数
    虚函数的各种情况
    equals与==关于Object覆盖和重载问题
    类型转换函数转换为构造类型
  • 原文地址:https://www.cnblogs.com/gouyanfeng/p/3173694.html
Copyright © 2020-2023  润新知