本地缓冲封装

这几天在项目中经常用到缓存,干脆就对这个缓存做了一个简单的封装 ,今后直接那俩用就行了;

   public class SiteCache
    {
        #region 方法
        private static readonly Cache _cache;
        public static readonly int HourFactor;
        public static readonly int MinuteFactor;
        static SiteCache()
        {
            HourFactor = 1;//小时
            MinuteFactor = 1;//分钟
            _cache = HttpRuntime.Cache;
        }
        ///


        /// 获取缓存
        ///

        ///
        ///
        public static object GetCache(string key)
        {
            return _cache[key];
        }
        ///
        /// 实践“一键一值”存储方法,最普通的存储方法;
        ///

        /// 主键(缓存名称)
        /// 要插入缓存中的对象
        ///
        /// 缓存的时间
        /// 优先权
        public static void InsertDefault(string key, object obj, CacheDependency dep, DateTime time, CacheItemPriority priority)
        {
            if (obj != null)
            {
                _cache.Insert(key, obj, dep, time, TimeSpan.Zero, priority, null);
            }
        }
        ///
        /// 实践“一键一值”存储方法,按小时存缓存
        ///

        /// 主键(缓存名称)
        /// 要插入缓存中的对象
        /// 时间(输入整数)
        public static void InsertHour(string key, object obj, int hourTime)
        {
            InsertDefault(key, obj, null, DateTime.Now.AddHours((double)hourTime), CacheItemPriority.Default);
        }
        ///
        /// 实践“一键一值”存储方法,按分钟存缓存
        ///

        ///
        ///
        ///
        public static void InsertMinute(string key, object obj, int minuteTime)
        {
            InsertDefault(key, obj, null, DateTime.Now.AddMinutes((double)minuteTime), CacheItemPriority.Default);
        }
        ///
        /// 指定缓存销毁
        ///

        /// 主键(缓存名称)
        public static void Remove(string key)
        {
            _cache.Remove(key);
        }
        ///
        /// 销毁所有缓存
        ///

        public static void Clear()
        {
            IDictionaryEnumerator enumerator = _cache.GetEnumerator();
            while (enumerator.MoveNext())
            {
                _cache.Remove(enumerator.Key.ToString());
            }
        }
        ///
        /// 判断存储的"一键一值"值是否还存在(有没有过期失效或从来都未存储过)
        ///

        ///
        ///
        public static bool ExistCache(string key)
        {
            if (_cache[key] != null)
            {
                return true;
            }
            else
            {
                return false;
            }
        }
        #endregion
    }

转载于:https://www.cnblogs.com/One-dream-man/archive/2012/11/10/2763711.html

你可能感兴趣的:(本地缓冲封装)