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" %>
5. Cache Data :
建议打开硬盘缓存,缓存时间设的稍长一点,因为IO的开销
DataSet ds=new DataSet();
ds = Cache["restaurant"];
if (ds == null)
{
ds = resDataSet;
Cache["restaurant"] = ds;
}
6. SQL Dependency
配置数据库服务器的sql缓存,然后在页面引用
7. Cache Configuration (减少重复定义)
a .web.config定义
b. 页面调用
<%@ OutputCache CacheProfile="CacheFor60Seconds" VaryByParam="name" %>