asp2.0支持以下几种缓存:
1.页面输出缓存:
是最简单的缓存机制,它是将整个ASP。NET页面内容保存在服务器内存中。当用户请求该页面时,系统从内存中输出相关数据,直到缓存数据过期。在这个过程中,缓存内容直接发送给用户,而不必再经过页面处理生命周期。通常情况下,页面输出缓存对于那些包含不需要经常修改内容的,但需要大量处理才能编译完成的页面特别有用。(页面输出缓存是将页面全部内容保存在内存中,并用于完成客户端请求)
2.页面部分缓存
将页面部分内容保存在内存中以便响应用户请求,而页面其他部分则为动态内容。页面部分缓存的实现包括两种方式:控件缓存和缓存后替换。前者也可以成为片段缓存,这种方式允许将需要缓存的信息包含在一个用户控件里,然后将该用户控件标记为可缓存的。这一方式缓存了页面中的特定内容,而没有缓存整个页面,所以每次都需要创建整个页面。缓存后替换与控件缓存正好相反。这种方式缓存整个页但是页中的各段都是动态的。
3.应用程序数据缓存
它提供了一种编程方式,可以通过键/值对将任意数据存储在内存中。使用应用程序缓存与使用应用程序状态类似,但是不同的是,应用程序数据缓存中的数据是易失的,即数据并不是在整个应用程序生命周期中都存储在内存中。它的优点是有ASP。NET管理缓存,它会在项过期、项无效或内存不足时移除缓存中的项,还可以配置应用程序缓存,以便在移除项的时候通知应用程序。
4.缓存依赖
2.0新增了SQL数据缓存依赖功能。它的核心是SqlCacheDependency类,不同版本的SQLServer,其对于SQL数据缓存以来具有不同程度的支持。使用方法差异较大。2.0还支持以CacheDependency类为核心的自定义缓存依赖,以及以AggregateCacheDependency类为核心的聚合缓存依赖等。
缓存相关的两个主要概念
缓存清除:
是指从内存中移除缓存数据。原因(1.缓存项数据过期2.缓存依赖项发生改变3.服务器内存不足)
缓存过期:
两种数据过期类型(1.可调过期,指定某项目上次被访问后多长时间过期2.绝对过期是指定某项在设定的时间过期,而不考虑访问频率)