ASP.NET浏览器相关缓存(一)-CacheHelper

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

namespace Common
{
    /// <summary>
    /// 缓存帮助类
    /// <para>主要方法如下:</para>
    /// <para>01. GetCache(string key)  //获取数据缓存</para>
    /// <para>02. SetCache(string key, object objData)  //设置数据缓存</para>
    /// <para>03. RemoveCache(string key)   //移除指定数据缓存</para>
    /// <para>04. RemoveAll()   //移除全部缓存</para>
    /// <para></para>
    /// </summary>
    public class CacheHelper
    {
        /// <summary>
        /// 获取数据缓存
        /// </summary>
        /// <param name="key"></param>
        public static object GetCache(string key)
        {
            Cache objCache = HttpRuntime.Cache;
            return objCache[key];
        }

        /// <summary>
        /// 设置数据缓存
        /// </summary>
        /// <param name="key"></param>
        /// <param name="objData">要缓存的数据</param>
        public static void SetCache(string key, object objData)
        {
            Cache objCache = HttpRuntime.Cache;
            objCache.Insert(key, objData);
        }

        /// <summary>
        /// 设置数据缓存
        /// </summary>
        /// <param name="key"></param>
        /// <param name="objData">要缓存的数据</param>
        /// <param name="timeOut"></param>
        public static void SetCache(string key, object objData, TimeSpan timeOut)
        {
            Cache objCache = HttpRuntime.Cache;
            objCache.Insert(key, objData, null, DateTime.MaxValue, timeOut, CacheItemPriority.NotRemovable, null);
        }

        /// <summary>
        /// 设置数据缓存
        /// </summary>
        public static void SetCache(string key, object objData, DateTime absoluteExpiration, TimeSpan slidingExpiration)
        {
            Cache objCache = HttpRuntime.Cache;
            objCache.Insert(key, objData, null, absoluteExpiration, slidingExpiration);
        }

        /// <summary>
        /// 移除指定数据缓存
        /// </summary>
        public static void RemoveCache(string key)
        {
            Cache _cache = HttpRuntime.Cache;
            _cache.Remove(key);
        }

        /// <summary>
        /// 移除全部缓存
        /// </summary>
        public static void RemoveAll()
        {
            Cache _cache = HttpRuntime.Cache;
            IDictionaryEnumerator CacheEnum = _cache.GetEnumerator();
            while (CacheEnum.MoveNext())
            {
                _cache.Remove(CacheEnum.Key.ToString());
            }
        }
    }
}
posted @   ꧁执笔小白꧂  阅读(4)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
历史上的今天:
2022-01-25 Web跨域学习笔记
2022-01-25 uni-app static目录的条件编译
2022-01-25 uni-app判断运行的平台
2021-01-25 Linux-Shell里/dev/fd与/proc/self/fd的区别
2021-01-25 常用抓包工具
2021-01-25 Ubuntu-系统版本Ubuntu Kubuntu Xubuntu Lubuntu Dubuntu Mythbuntu UbuntuBudgie的区别
点击右上角即可分享
微信分享提示