• .NET自带缓存机制实例


    using System;
    using System.Web;
    using System.Web.Caching;
    using System.Collections.Generic;
    using System.Collections;

    namespace SZRPP.Common
    {
        /// <summary>
        /// 缓存相关的操作类
        /// </summary>
        public class DataCache
        {
            /// <summary>
            /// 获取当前应用程序指定CacheKey的Cache值
            /// </summary>
            /// <param name="CacheKey"></param>
            /// <returns></returns>
            public static object GetCache(string CacheKey)
            {
                System.Web.Caching.Cache objCache = HttpRuntime.Cache;
                return objCache[CacheKey];
            }

            /// <summary>
            /// 设置当前应用程序指定CacheKey的Cache值
            /// </summary>
            /// <param name="CacheKey"></param>
            /// <param name="objObject"></param>
            public static void SetCache(string CacheKey, object objObject)
            {
                System.Web.Caching.Cache objCache = HttpRuntime.Cache;
                if (objObject!=null)
                    objCache.Insert(CacheKey, objObject, null, DateTime.UtcNow.AddDays(7), TimeSpan.Zero);
            }

            /// <summary>
            /// 设置当前应用程序指定CacheKey的Cache值
            /// </summary>
            /// <param name="CacheKey"></param>
            /// <param name="objObject"></param>
            public static void SetCache(string CacheKey, object objObject, DateTime absoluteExpiration,TimeSpan slidingExpiration )
            {
                System.Web.Caching.Cache objCache = HttpRuntime.Cache;
                objCache.Insert(CacheKey, objObject,null,absoluteExpiration,slidingExpiration);
            }
            /// <summary>
            /// 根据依赖项设置缓存
            /// </summary>
            /// <param name="CacheKey"></param>
            /// <param name="objObject"></param>
            /// <param name="cdep"></param>
            /// <param name="absoluteExpiration"></param>
            /// <param name="slidingExpiration"></param>
            public static void SetCache(string CacheKey, object objObject, CacheDependency cdep, DateTime absoluteExpiration, TimeSpan slidingExpiration)
            {
                System.Web.Caching.Cache objCache = HttpRuntime.Cache;
                objCache.Insert(CacheKey, objObject, cdep, absoluteExpiration, slidingExpiration);
            }
            /// <summary>
            /// 移除当前应用程序指定CacheKey的Cache值
            /// </summary>
            /// <param name="CacheKey"></param>
            public static void RemoveCache(string CacheKey)
            {
                System.Web.Caching.Cache objCache = HttpRuntime.Cache;
                IDictionaryEnumerator enumerator = HttpRuntime.Cache.GetEnumerator();
                while (enumerator.MoveNext())
                {
                    if (enumerator.Key.ToString().IndexOf(CacheKey, System.StringComparison.Ordinal) >= 0)
                        objCache.Remove(enumerator.Key.ToString());
                }
                
            }
            /// <summary>
            ///  移除当前应用程序所有缓存
            /// </summary>
            public static void RemoveCache()
            {

                // retrieve application Cache enumerator
                IDictionaryEnumerator enumerator = HttpRuntime.Cache.GetEnumerator();
                // copy all keys that currently exist in Cache
                while (enumerator.MoveNext())
                {
                    HttpRuntime.Cache.Remove(enumerator.Key.ToString());
                }
                  
            }
            
        }
    }

  • 相关阅读:
    前端知识总汇
    html基础
    linux密码修改实验
    [ 转 ] 为 phpstorm 自定义默认 Web 服务器
    简易 PHP 教程小记
    EXPORT Man Information for Linux use COMMAND col
    CiSCO 交换机配置 SSH 登陆
    修复已损坏的交换机IMG
    Jupyter Notebook远程服务器配置[转]
    Linux 调节分辨率
  • 原文地址:https://www.cnblogs.com/zxq311915/p/4280851.html
Copyright © 2020-2023  润新知