ASP.NET2.0提供如下缓存方式:
Output Caching
Fragment Caching
Data Cache
SQL Cache
Cache Configuration
1. Output Caching:
当一个网页被频繁访问时,我们可以把把整个网页缓存起来提高效率,当用户在此访问时,被格式化好的HTML被直接送到客户端。
<%@ OutputCache Duration="120" VaryByParam="none" %>
2. 参数缓存:
根据用户的请求来生成页面,用户的请求只有有限的几种组合,我们根据参数该表缓存内容。
<%@ OutputCache Duration="120" VaryByParam="state" %>
<%——<a href="Default.aspx?state=CA"></a>——%>
3. 硬盘缓存:
默认情况下Output Cache会缓存到硬盘上,我们可通过修改diskcacheenable的属性设置其是否缓存,还可以通过在web config里配置缓存文件的大小。
4. 页面碎片缓存:
页面上部分内容根据请求动态更新,大部分能容被缓存。(如果多个控件需要缓存,可做成一个用户控件)
<%@OutputCache Duration="120" VaryByControl="ControlID" %>
<center><img src="" border="0" alt="新手入门 ASP.NET2.0缓存技术"/></center>
5. Cache Data :
建议打开硬盘缓存,缓存时间设的稍长一点,因为IO的开销
DataSet ds=new DataSet();
ds = Cache["restaurant"];
if (ds == null)
{
ds = resDataSet;
Cache["restaurant"] = ds;
}
6. SQL Dependency
配置数据库服务器的sql缓存,然后在页面引用
<center><img src="" border="0" alt="新手入门 ASP.NET2.0缓存技术"/></center>
7. Cache Configuration (减少重复定义)
a .web.config定义
<center><img src="" border="0" alt="新手入门 ASP.NET2.0缓存技术"/></center>
b. 页面调用
<%@ OutputCache CacheProfile="CacheFor60Seconds" VaryByParam="name" %>
<table width="90%" border="0" cellpadding="0" cellspacing="0" align="center">
<tr> <td><b>热门推荐</b>:</td>
<td><a href="http://www.enet.com.cn/article/2007/1210/A20071210942740.shtml" target="_blank"><font size=2 color=red>无敌命令 删除不能删除的文件
</font></a></td>
<td><a href="http://www.enet.com.cn/article/2007/1211/A20071211943925.shtml" target="_blank"><font size=2 color=red>不怕被攻击 Windows防黑技巧七招</font></a></td>
</tr></table>