在上面的图片中,(1)用来返回页面的缓存,这意味着它是用于输出缓存的,而(2)使用数据缓存,通过存储数据来减少获取数据的开销。
Asp.net支持两种形式的过期策略,这决定了什么时候对象将失效或者被从缓存中移除。 绝对过期:绝对过期发生在一个标识的时间。绝对过期时间被标识为一种全日期格式(hh:mm:ss)。在标识的时间,对象将从缓存中过期。
Asp.net 支持三种类型的缓存:
就像上面展示的这幅图一样,如果我们对一个页面使用一个查询字符串,我们需要基于该参数缓存所有的页面,我们可以使用VaryByParam属性。基于查询字符串,数据应该被缓存,当用户请求一个页面,并携带一个查询字符串(图片中是ID),页面也能够在缓存中被检索到。下面的例子描述了VaryByParam属性的使用。 示例:view plaincopy to clipboardprint?
<%@ OutputCache Duration="60"
VaryByParam="*" %>
<! page would cached for 60 seconds, and would create a separate cache
entry for every variation of querystring -->
<%@ OutputCache Duration="60" VaryByParam="*" %> <! page would cached for 60 seconds, and would create a separate cache entry for every variation of querystring -->
下面这幅图展示了最通用也是最重要的输出缓存的属性: