Cache.Add 方法

转载 2006年05月23日 12:27:00
ASP.NET 为您提供了一个强大的、便于使用的缓存机制,允许您将需要大量的服务器资源创建的对象存储在内存中。它是由 Cache 类实现的,实例是每个应用程序专用的,其生存期依赖于该应用程序的生存期。当重新启动应用程序时,将重新创建其 Cache 对象的实例。

设计 Cache 类是为了便于使用。通过使用与值成对的键,您可以将项放置在 Cache 中并在以后检索它们。有关如何进行该操作的示例,请参阅将项添加到缓存中和检索缓存项的值。

Cache 类为您提供了一个简单的接口来自定义缓存设置,它还提供了强大的功能允许您自定义如何缓存项以及将它们缓存多长时间。例如当缺乏系统内存时,缓存自动移除很少使用的或不重要的项以允许使用内存来处理大量的请求。这种技术叫做清理。这是缓存确保非当前数据不使用宝贵的服务器资源的一种方式。

当执行清理时,您可以指示 Cache 给予某些项比其他项更高的优先级。若要指示特定项比其他项具有较高或较低的重要性,请在使用 Cache.Add 方法或 Cache.Insert 方法添加项时指定一个 CacheItemPriority 枚举值。

当使用 Add 方法或 Insert 方法将项添加到 Cache 时,您还可以建立项的到期策略。您可以通过使用 absoluteexpiration 参数定义项的生存期,该参数为 DateTime 类型,允许您指定该项的到期时间。您还可以使用 slidingexpiration 参数,该参数为 TimeSpan 类型。它允许您根据项被访问的时间指定该项到期之前要经过的时间。一旦该项到期,便将它从缓存中移除。试图检索其值将返回 null,除非该项被重新添加到 Cache 中。

对于存储在 Cache 中的易失项(例如那些经常进行数据刷新的项或那些只在一段时间内有效的项),设置一种到期策略,只要这些项的数据保持为最新的,就将它们保留在 Cache 中。例如,如果您正在编写一个应用程序,该应用程序通过从一个经常更新的 Web 站点获得数据来跟踪体育比赛的比分,那么只要源 Web 站点上比赛的比分不更改,就可以缓存这些比分。在此情况下,您可以根据该 Web 站点更新比分的频率来设置到期策略。您可以编写代码来确定 Cache 中是否是最新的比分。如果该比分不是最新的,则该代码可以从源 Web 站点更新比分。

最后,ASP.NET 允许您根据外部文件、目录或另一个缓存项定义缓存项的有效性。这些叫做文件依赖项和键依赖项。如果依赖项更改,则缓存项失效并被从 Cache 中移除。您可以使用该技术在项的数据源更改时从 Cache 中移除这些项。例如,如果您编写一个处理 XML 文件中财务数据的应用程序,并将其呈现在图形中,则您可以从该文件将数据插入 Cache 并在该 XML 文件上保留一个依赖项。当该文件更新时,从缓存中移除该项,您的应用程序重新读取该文件,然后插入该项的一个新版本。

注意 Cache 没有关于它所包含项的内容的信息。它只保留对这些对象的引用。它还提供跟踪它们的依赖项和设置到期策略的方法。
有关如何利用这些功能的更多信息,请参阅将项添加到缓存中。

Cache.Insert 与 Cache.Add 区别

Cache.Insert 与 Cache.Add 区别
  • Jamie2012
  • Jamie2012
  • 2017年04月27日 21:35
  • 433

细说 ASP.NET Cache 及其高级用法

http://www.cnblogs.com/fish-li/archive/2011/12/27/2304063.html开始Cache的基本用途Cache的定义Cache常见用法Cache类的...
  • hliq5399
  • hliq5399
  • 2016年04月25日 09:33
  • 3253

NET Cache的用法

System.Web.HttpRuntime.Cache的方法: Add Insert Get Remove   缓存的操作包括:读、写。 读取缓存内容调用System.Web.Http...
  • ttotcs
  • ttotcs
  • 2012年04月19日 10:07
  • 6505

如何在程序中加入缓存机制

 看别人写的源程序,发现使用了缓存处理机制,好奇,学习了一下,很有意思的东西。它使用的是whirlycache这一个开源项目,版本0.7.老了点。先用着。  //定义自己的缓存类public clas...
  • haofeng82
  • haofeng82
  • 2007年12月19日 16:37
  • 1984

如何将项添加到缓存中

将项添加到缓存中 您可以使用三种不同的技术将项添加到 Cache 对象中。根据应用程序要求的不同,您的选择可以从简单到复杂。 如果要利用 Cache 所提供的清理、到期时间和依赖项支持,则必须使用...
  • wangjingjing1014
  • wangjingjing1014
  • 2013年06月11日 11:38
  • 1703

Cache.Insert 与 Cache.Add 区别

 System.Web.Caching 命名空间提供用于缓存服务器上常用数据的类。这包括 Cache 类,该类是一个使您可以存储任意数据对象(如哈希表和数据集)的词典。它还为这些对象提供到期功能,并提...
  • sunzongteng
  • sunzongteng
  • 2009年05月31日 17:03
  • 308

引用 Cache.Insert 与 Cache.Add 区别

 System.Web.Caching 命名空间提供用于缓存服务器上常用数据的类。这包括 Cache 类,该类是一个使您可以存储任意数据对象(如哈希表和数据集)的词典。它还为这些对象提供到期功能,并提...
  • henrycg55
  • henrycg55
  • 2011年02月23日 10:24
  • 277

.net Cache的使用方法

ASP.NET Cache是提升系统性能的重要方法,它使用了“最近使用”原则(a least-recently-used algorithm)。在数据库访问中经常会用到Cache保存数据库数据。 1...
  • liuying8448
  • liuying8448
  • 2012年03月01日 17:12
  • 3616

创建cacheManager 和 cache的几种方式

Ehcache是用来管理缓存的一个工具,其缓存的数据可以是存放在内存里面的,也可以是存放在硬盘上的。其核心是CacheManager,一切Ehcache的应用都是从CacheManager开始的。它是...
  • u014236541
  • u014236541
  • 2015年11月30日 21:45
  • 9250

[Cache 学习] Cache.Insert 与 Cache.Add 区别

[Cache 学习] Cache.Insert 与 Cache.Add 区别2008年12月25日 星期四 09:04 来源:http://hi.baidu.com/xiao_wei2008/blog...
  • zlb789
  • zlb789
  • 2009年01月15日 10:09
  • 2668
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Cache.Add 方法
举报原因:
原因补充:

(最多只允许输入30个字)