zoukankan      html  css  js  c++  java
  • 缓存操作类

    引入
    using
    System.Web.Caching;
     /*
           Key//缓存名
           Value//要缓存的对象
           Dependencies//依赖项
           AbsoluteExpiration//绝对过期时间
           SlidingExpiration//相对过期时间
           Priority//优先级
           CacheItemRemovedCallback //缓存过期引发事件
            */
        /// <summary>
        /// 缓存
        /// </summary>
        /// <typeparam name="T"></typeparam>
        public class CacheHelper<T>
        {
            /// <summary>
            /// 获取缓存数据
            /// </summary>
            /// <param name="cachekey"></param>
            /// <returns></returns>
            public static T GetCache(string cachekey)
            {
                return (T)HttpRuntime.Cache[cachekey];
            }
            /// <summary>
            /// 数据插入缓存(永不过期)
            /// </summary>
            /// <param name="cachekey"></param>
            /// <param name="data"></param>
            public static void SetCache(string cachekey, T data)
            {
                HttpRuntime.Cache.Insert(cachekey, data);
            }
            /// <summary>
            /// 数据插入缓存(依赖)
            /// </summary>
            /// <param name="cachekey"></param>
            /// <param name="data"></param>
            /// <param name="dependencies">对文件或者目录的依赖</param>
            public static void SetCache(string cachekey, T data, CacheDependency dependencies)    //依赖
            {
                HttpRuntime.Cache.Insert(cachekey, data, dependencies);
            }
            /// <summary>
            /// 数据插入缓存(绝对事件过期)
            /// </summary>
            /// <param name="cachekey"></param>
            /// <param name="data"></param>
            /// <param name="timeout"></param>
            public static void SetCache(string cachekey, T data, TimeSpan timeout)
            {
                HttpRuntime.Cache.Insert(cachekey, data, null, DateTime.MaxValue, timeout, CacheItemPriority.NotRemovable, null);
            }
            /// <summary>
            /// 设置缓存数据(绝对时间过期)
            /// </summary>
            /// <param name="cachekey"></param>
            /// <param name="objObject"></param>
            /// <param name="absoluteExpiration"></param>
            /// <param name="slidingExpiration"></param>
            public static void SetCache(string cachekey, T data, DateTime absoluteExpiration, TimeSpan slidingExpiration)
            {
                HttpRuntime.Cache.Insert(cachekey, data, null, absoluteExpiration, slidingExpiration);
            }
            /// <summary>
            /// 移除指定缓存数据
            /// </summary>
            /// <param name="cachekey"></param>
            public static void RemoveAllCache(string cachekey)
            {
                HttpRuntime.Cache.Remove(cachekey);
            }
            /// <summary>
            /// 移除全部缓存
            /// </summary>
            public static void RemoveAllCache()
            {
                var cache = HttpRuntime.Cache;
                var cacheEnum = cache.GetEnumerator();
                while (cacheEnum.MoveNext())
                {
                    cache.Remove(cacheEnum.Key.ToString());
                }
            }
    
        }
  • 相关阅读:
    HO引擎近况2020712
    大地形初探小结一
    大地形初探之信息收集
    真实大地形初探
    翻译22 Unity中的曲面
    翻译21 平面和线框着色
    翻译20 视差和法线、高度图回顾
    翻译19 GPU Instance
    翻译18 Realtime GI & LPPV & LOD
    翻译17 Mixed Lighting混合光照
  • 原文地址:https://www.cnblogs.com/OleRookie/p/5300653.html
Copyright © 2011-2022 走看看