zoukankan      html  css  js  c++  java
  • System.Web.Caching.Cache缓存帮助类

        /// <summary>
        /// 缓存帮助类
        /// </summary>
        public class CacheHelper
        {
            /// <summary>
            /// 创建缓存项的文件
            /// </summary>
            /// <param name="key">缓存Key</param>
            /// <param name="obj">object对象</param>
            public static void Insert(string key, object obj)
            {
                //创建缓存
                HttpContext.Current.Cache.Insert(key, obj);
            }
            /// <summary>
            /// 移除缓存项的文件
            /// </summary>
            /// <param name="key">缓存Key</param>
            public static void Remove(string key)
            {
                //创建缓存
                HttpContext.Current.Cache.Remove(key);
            }
            /// <summary>
            /// 创建缓存项的文件依赖
            /// </summary>
            /// <param name="key">缓存Key</param>
            /// <param name="obj">object对象</param>
            /// <param name="fileName">文件绝对路径</param>
            public static void Insert(string key, object obj, string fileName)
            {
                //创建缓存依赖项
                CacheDependency dep = new CacheDependency(fileName);
                //创建缓存
                HttpContext.Current.Cache.Insert(key, obj, dep);
            }
    
            /// <summary>
            /// 创建缓存项过期
            /// </summary>
            /// <param name="key">缓存Key</param>
            /// <param name="obj">object对象</param>
            /// <param name="expires">过期时间(分钟)</param>
            public static void Insert(string key, object obj, int expires)
            {
                HttpContext.Current.Cache.Insert(key, obj, null, Cache.NoAbsoluteExpiration, new TimeSpan(0, expires, 0));
            }
    
            /// <summary>
            /// 获取缓存对象
            /// </summary>
            /// <param name="key">缓存Key</param>
            /// <returns>object对象</returns>
            public static object Get(string key)
            {
                if (string.IsNullOrEmpty(key))
                {
                    return null;
                }
                return HttpContext.Current.Cache.Get(key);
            }
    
            /// <summary>
            /// 获取缓存对象
            /// </summary>
            /// <typeparam name="T">T对象</typeparam>
            /// <param name="key">缓存Key</param>
            /// <returns></returns>
            public static T Get<T>(string key)
            {
                object obj = Get(key);
                return obj == null ? default(T) : (T)obj;
            }
    
        }

    使用方法:

    var _cache = CacheHelper.Get<User>(key);
    if (_cache == null)
    {
            CacheHelper.Insert(key,obj,30);//存入续存,30分钟
            _cache = CacheHelper.Get<User>(key);
    }
    return _cache;
  • 相关阅读:
    linux
    网络编址
    抽象类 接口
    mysql
    java
    [lyu]Mysql解压版安装教程
    Mysql出现拒绝本地账户访问的情况副本
    js
    Redis限流和GeoHash
    布隆过滤器
  • 原文地址:https://www.cnblogs.com/lnice/p/6991279.html
Copyright © 2011-2022 走看看