ASP.NET缓存

来源:互联网 发布:自闭症儿童志愿者知乎 编辑:程序博客网 时间:2024/05/23 19:19

System.Web.Caching.Cache类是一个密封类,不能被继承。
应用程序缓存允许开发者将程序生成的数据或报表业务对象放入缓存中。
页输出缓存可以通过内存将处理后的ASP.NET页面存储起来,当客户端再一次
访问该页面时,可以省去页面处理的过程,从而提高页面访问的性能,以及Web服务器的吞吐量。

通过System.Web.Caching.SqlCacheDependency类在所有支持的SQL Server版
本上监视特定的SQL Server数据库表,并创建依赖于该表以及表中数据行的缓存项。当数据表或表中特定行的数据发生更改时,具有依赖项的数据项就会失效,并自动从Cache中删除该项,从而保证了缓存中不再保留过期的数据。
使用aspnet_regsql工具开启数据库SqlCacheDependency功能


SqlCacheDependencyAdmin类中的相关方法:
DisableNotifications:为特定数据库禁用 SqlCacheDependency对象更改通

DisableTableForNotifications
为数据库中的特定表禁用SqlCacheDependency对象更改通知
EnableNotifications
为特定数据库启用SqlCacheDependency对象更改通知
EnableTableForNotifications
为数据库中的特定表启用SqlCacheDependency对象更改通知
GetTablesEnabledForNotifications
返回启用了SqlCacheDependency对象更改通知的所有表的列表
AggregateCacheDependency负责监视依赖项对象的集合。当这个集合中的任意
一个依赖项对象发生改变时,该依赖项对象对应的缓存对象都将被自动移除。

可以通过设置ControlCachePolicy类的Dependency属性,来设置与该用户控件相关的依赖项。

VaryByParam:表示GET或 POST 名称/值对的字符串。

VaryByCustom:可以自定义输出缓存要求的任意文本。需要在应用程序的 global.asax 文件的代码声明块中,重写 GetVaryByCustomString 方法来为自定义字符串指定输出缓存的行为。