1.1.输出缓存
解释:在服务器端存储缓存,当用户访问页面时,整个页面将会被服务器保存在内存中,这样就对页面进行了缓存。当用户再次访问该页,页面不会再次执行数据操作,页面首先会检查服务器中是否存在缓存,如果缓存存在,则直接从缓存中获取页面信息,如果页面不存在,则创建缓存。
页面输出缓存适用于那些数据量较多,而不会进行过多的事件操作的页面,如果一个页面需要执行大量的事件更新,以及数据更新,则并不能使用页面输出缓存。使用@OutputCatch指令能够声明页面输出缓存,示例代码如下所示。
<%@ OutputCache Duration="120" VaryByParam="none" %>
效果:在120秒内,该页面不会在服务器获取数据,即显示120秒的页面副本。
1.2.客户端缓存
解释:在客户端缓存,如果用户在浏览器中点击“后退”按钮或在地址栏中重新输入URL,那么在这种情况下,浏览器将从缓存获取页面;然而,如果用户点击“刷新”按钮,那么浏览器中缓存将失效,浏览器发送页面请求。
如果我们要使用客户端缓存,只需指定OutputCache中的属性Location=”Client”就OK了
<%@ OutputCache Duration="120" VaryByParam="None" Location="Client" %>
效果:在120内,重新录入相同的url、从其他页面返回到该页面,该页面不会再服务器获取数据,但是右键刷新页面会重新获取数据。
1.3Query String缓存
解释:在服务器端存储缓存,在前面的例子中,我们把OutputCache中的VaryByParam属性设置为None,那么ASP.NET程序只缓存一个页面副本;如果页面请求包含查询参数,那么在缓存的有效期内,我们只可以查看到只是缓存结果。代码:
<%@ OutputCache Duration="120" VaryByParam="*" %>
效果:请求url:http://localhost:14667/a.aspx?p=cd,在120秒内,如果url不变,则从缓存中取页面,如果url改变,则重新获取数据。
<%@ OutputCache Duration="120" VaryByParam="None" %>
效果:请求url:http://localhost:14667/a.aspx?p=cd,在120秒内,数据不变,不会请求新数据.
详细:http://kb.cnblogs.com/page/69535/