在.NET中使用缓存API来控制数据缓存

ZDNet软件频道 时间:2006-07-07 作者:Tony Patton |  我要评论()
本文关键词:dotnettrend TonyPatton
本文将集中在数据缓存上,通过您喜欢的.NET语言和缓存API,就可以在需要时向缓存中添加和删除项目。

对频繁访问的和内存中昂贵的数据进行缓存可以推进应用软件的性能,因为这减少了获取数据时对数据库的调用。ASP.NET提供了两种基本的缓存技术:页面(页面输出(Page Output)和页面片断(Page Fragment))以及程序性缓存(programmatic caching)。在我的上一篇文章中,已经介绍了关于页面输出缓存的基本内容,这篇文章将集中在数据缓存上,通过您喜欢的.NET语言和缓存API,就可以在需要时向缓存中添加和删除项目。

缓存API

与缓存相关的API可以通过System.Web.Caching名称空间来调用,它包含了Cache对象,其中包含了用于在缓存中操作项目的方法,有以下的方法可供使用:

  • Add:允许您向缓存中添加一个指定的项目。
  • Get:使用键值(key value)从缓存中获取一个指定的项目。
  • Insert:向缓存中添加一个指定项目。
  • Remove:使用键值从缓存中删除一个指定的项目。

Add和Insert方法可以接受参数来定义以下的属性:

  • 一个用于项目键的字符串值,键是用于访问项目的。
  • 存储在缓存中的实际的对象。
  • 设定一个依存属性(通过CacheDependency对象),这可以定义当一个特定的依存属性改变时(文件、文件夹、键或其他对象)清除缓存的条件。
  • 定义一个绝对过期日期,这个日期设定了对象的过期时间并从缓存中删除掉,它可以接受一个DateTime对象。
  • 定义一个滑动过期日期(sliding expiration date)用于指定一个项目在被删除之前在缓存中停留的时间,它可以接受一个TimeSpan对象。
  • 通过CacheItemPriority对象对项目指派一个优先权,合法的值包括NotRemovable、High、AboveNormal、Normal、BelowNormal、和Low。
  • 定义一个委派(delegate),当一个项目被删除时,回收方法(callback function)可以得到通知。

Add和Insert方法都接受所有这些参数,但是Insert方法包含两个重载符号(signature)只能接受这个列表的子集。第一个符号接受键值和实际的对象,而另一个符号则接受除了优先级和委派之外的所有参数。因为其他的参数不常用,所以Insert方法更常用一些。


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134