ASP.NET 页面缓存指令

作者: 来源: 日期:2011-12-29

页面缓存的使用方法非常的简单,只需要在 aspx 页的顶部加一句声明 <%@ OutputCache Duration="60" VaryByParam="none" %>

这样整个页面的内容都会被缓存,页面中的 ASP.NET 代码、数据源在缓存期间都不会被运行,而是直接输出缓存的页面内容。页面缓存是针对所有这个页面的访问者。这样 1 个访问者和 1 万个访问者、一次访问和 100 万次访问对数据库的压力是一样的。

Duration="60" 的意思是指定缓存的时间为 60 秒,可根据情况自已设定,超过这个时间则缓存失效,再次生成以后会缓存 60 秒,以此类推。

VaryByParam="none" 的意思是设定无参数缓存。但是对于一些有参数的页面,比如新闻内容页来讲(比如是针对于 ViewNews.aspx 页面的,不会自动去读取 ?id=1),如果如上设置的话,则会缓存在第一个看到的新闻,因为 ?id=2、?id=3 只是页面的不同参数而已,为了能让不同的新闻各种缓存,因此可以设置 VaryByParam="id",表示对于不同的 id 参数进行单独缓存。如果有多个确定缓存参数,则将参数名用分号隔开即可,比如 VaryByParam="id;number"。如果想让任何不同的查询字符串都创建不同的缓存,则设置 VaryByParam="*", 一般情况下设置“*”就足够了。

相关文章