分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 网页技术

【原】缓存之 HttpRuntime.Cache

发布时间:2023-09-06 02:09责任编辑:沈小雨关键词:缓存

1、HttpRuntime.Cache

  • HttpRuntime.Cache 相当于就是一个缓存具体实现类,这个类虽然被放在了 System.Web 命名空间下了。但是非 Web 应用也是可以拿来用的。
  • HttpContext.Cache 是对上述缓存类的封装,由于封装到了 HttpContext ,局限于只能在知道 HttpContext 下使用,即只能用于 Web 应用。

2、.绝对过期时间和相对过期时间  

 /// <summary> ???/// 设置数据缓存,相对过期 ???/// --键值存在时会替换原数据 ???/// </summary> ???/// <typeparam name="T"></typeparam> ???/// <param name="cacheKey">键值</param> ???/// <param name="objObject"></param> ???/// <param name="timeout">相对过期时间,最后一次访问所插入对象时与该对象到期时之间的时间间隔(单位:秒)</param> ???public static void SetRelativeCache<T>(string cacheKey, T objObject, int timeout = 30)//默认30秒过期,30秒不访问就会过期 ???{ ???????try ???????{ ???????????if (objObject == null) return; ???????????var objCache = HttpRuntime.Cache; ????????????????????//相对过期时间,最后一次访问的时间超过了时间间隔后才会到期 ???????????objCache.Insert(TypeName<T>() + cacheKey, objObject, null, Cache.NoAbsoluteExpiration, TimeSpan.FromSeconds(timeout), CacheItemPriority.High, null); ???????} ???????catch (Exception ex) ???????{ ???????????throw ex; ???????} ???}
/// <summary> ???/// 设置数据缓存,绝对过期时间 ???/// --键值存在时会替换原数据 ???/// </summary> ???/// <typeparam name="T"></typeparam> ???/// <param name="cacheKey"></param> ???/// <param name="objObject"></param> ???/// <param name="timeout">绝对过期时间(单位:秒,默认300秒以后就会过期)</param> ???public static void SetAbsoluteCache<T>(string cacheKey, T objObject, int timeout = 300)//默认300秒 ???{ ???????try ???????{ ???????????if (objObject == null) return; ???????????var objCache = HttpRuntime.Cache; ???????????//绝对过期时间, ?TimeSpan.Zero ???????????objCache.Insert(TypeName<T>() + cacheKey, objObject, null, DateTime.Now.AddSeconds(timeout), Cache.NoSlidingExpiration, CacheItemPriority.High, null); ??????????????????} ???????catch (Exception ex) ???????{ ???????????throw ex; ???????} ???}

注意事项:

absoluteExpiration
类型:System.DateTime
所添加对象将过期并被从缓存中移除的时间。如果使用相对过期,则 absoluteExpiration 参数必须为 NoAbsoluteExpiration。

slidingExpiration
类型:System.TimeSpan
最后一次访问所添加对象时与该对象过期时之间的时间间隔。如果该值等效于 20 分钟,则对象在最后一次被访问 20 分钟之后将过期并从缓存中移除。如果使用绝对过期,则 slidingExpiration 参数必须为 NoSlidingExpiration。

【原】缓存之 HttpRuntime.Cache

原文地址:https://www.cnblogs.com/luofuxian/p/9447008.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved