Asp.net中的几种缓存技术?

1 整页缓存

适用情况

1. 不需要频繁更新数据的页面

2. 占用大量时间和资源才能编译生成的页面。

<%@ OutputCache Duration="5" VaryByParam="id;name" VaryByControl="none" Location="Any" VaryByCustom="browser"%>

Duration 必须属性。表示页面被缓存的时间,以秒为单位

varyByParam 该属性是以分号分隔的字符串变量,以其中每一个变量作为参数传递的页面都将被作为缓存处理。“none”表示不随任何参数变化,“*”根据所有参数变化

VaeyByControl 该属性是以分号分隔的字符串变量,用来改变用户控件的输出缓存。这些字符串代表用户控件中声明的服务器控件ID

Location 指定输出缓存项。默认为Any

VaryByCustom 用于自定义输出缓存要求,它允许在global.asax中自定义变动。如果该属性值是browser,则缓存将随浏览器名词和主要版本信息的不同而异

2 页面部分缓存

这种缓存方式适用于页面内某些部分可能每次请求是都需要最新数据的情况。

利用 Substitution 控件来做局部缓存替换。使这个部分的内容不会被缓存。

3 应用程序缓存

应用程序缓存是用来存储与应用程序相关的对象,主要由Cache类来实现。它给我们提供了一种机制,使得我们可以通过编码方式灵活地控制缓存的操作。