cache的用法.docx

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
cache的用法

细说 ASP.NET Cache 及其高级用法阅读目录开始Cache的基本用途Cache的定义Cache常见用法Cache类的特点缓存项的过期时间缓存项的依赖关系 - 依赖其它缓存项缓存项的依赖关系 - 文件依赖缓存项的移除优先级缓存项的移除通知巧用缓存项的移除通知实现【延迟操作】巧用缓存项的移除通知实现【自动加载配置文件】文件监视技术的选择各种缓存方案的共存许多做过程序性能优化的人,或者关注过程程序性能的人,应该都使用过各类缓存技术。而我今天所说的Cache是专指ASP.NET的Cache,我们可以使用HttpRuntime.Cache访问到的那个Cache,而不是其它的缓存技术。以前我在【我心目中的A核心对象】?这篇博客中简单地提过它,今天我打算为它写篇专题博客,专门来谈谈它,因为它实在是太重要了。在这篇博客中,我不仅要介绍它的一些常见用法,还将介绍它的一些高级用法。在上篇博客【在.net中读写config文件的各种方法】?的结尾处,我给大家留了一个问题,今天,我将在这篇博客中给出一个我认为较为完美的答案。本文提到的【延迟操作】方法(如:延迟合并写入数据库)属于我的经验总结,希望大家能喜欢这个思路。回到顶部Cache的基本用途提到Cache,不得不说说它的主要功能:改善程序性能。ASP.NET是一种动态页面技术,用ASP.NET技术做出来的网页几乎都是动态的,所谓动态是指:页面的内容会随着不同的用户或者持续更新的数据,而呈现出不同的显示结果。既然是动态的,那么这些动态的内容是从哪里来的呢?我想绝大多数网站都有自己的数据源,程序通过访问数据源获取页面所需的数据,然后根据一些业务规则的计算处理,最后变成适合页面展示的内容。由于这种动态页面技术通常需要从数据源获取数据,并经过一些计算逻辑,最终变成一些HTML代码发给客户端显示。而这些计算过程显然也是有成本的。这些处理成本最直接可表现为影响服务器的响应速度,尤其是当数据的处理过程变得复杂以及访问量变大时,会变得比较明显。另一方面,有些数据并非时刻在发生变化,如果我们可以将一些变化不频繁的数据的最终计算结果(包括页面输出)缓存起来,就可以非常明显地提升程序的性能,缓存的最常见且最重要的用途就体现在这个方面。这也是为什么一说到性能优化时,一般都将缓存摆在第一位的原因。我今天要说到的ASP.NET Cache也是可以实现这种缓存的一种技术。不过,它还有其它的一些功能,有些是其它缓存技术所没有的。回到顶部Cache的定义在介绍Cache的用法前,我们先来看一下Cache的定义:(说明:我忽略了一些意义不大的成员)?// 实现用于 Web 应用程序的缓存。无法继承此类。public sealed class Cache : IEnumerable{// 用于 Cache.Insert(...) 方法调用中的 absoluteExpiration 参数中以指示项从不过期。public static readonly DateTime NoAbsoluteExpiration;// 用作 Cache.Insert(...) 或 Cache.Add(...) // 方法调用中的 slidingExpiration 参数,以禁用可调过期。public static readonly TimeSpan NoSlidingExpiration;// 获取或设置指定键处的缓存项。public object this[string key] { get; set; }// 将指定项添加到 System.Web.Caching.Cache 对象,该对象具有依赖项、过期和优先级策略 // 以及一个委托(可用于在从 Cache 移除插入项时通知应用程序)。public object Add(string key, object value, CacheDependency dependencies,DateTime absoluteExpiration, TimeSpan slidingExpiration,CacheItemPriority priority, CacheItemRemovedCallback onRemoveCallback);// 从 System.Web.Caching.Cache 对象检索指定项。 // key: 要检索的缓存项的标识符。 // 返回结果: 检索到的缓存项,未找到该键时为 null。public object Get(string key);public void Insert(string key, object value);public void Insert(string key, object value, CacheDep

文档评论(0)

ayangjiayu4 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档