ASP.NET - 缓存,Cache

页面缓存:

给页面添加<%@ OutPutCache Duration = “15” VaryByParam = “none” %>

这样就可以启用页面缓存了,那么在规定的时间内,页面之访问数据库一次。

Duration设置的是缓存的时间,以秒为单位,超过这个时间将缓存失效,则再次连接数据库进行数据查询。

对于新闻页面来说的话,如果设置缓存的话,则会缓存在第一个看到的新闻,因为?id=2、?id=3只是页面的不同参数而已,为了能让不同的新闻各次缓存,一次可以设置VaryByParam = “id”。表示对不同的id参数进行单独的缓存,如果有多个确定缓存的参数,则参数之间用分号隔开,例如:VaryByParam = “id, number”.

如果想让任何不同的查询字符串都创建不同的缓存,则设置为VaryByParam = “*”。

<%@ OutputCache Duration ="15" VaryByParam ="*"%>

数据源缓存:

设定ObjectDataSource的CacheDuration(缓存时间:秒),EnableCaching= true。这样每个CacheDuration指定时间段猜滴哦啊用Selectethod

制定的方法来执行数据库查询,其他时候直接返回缓存数据。

缓存固定的时间适用于首页,文章列表页,等访问频繁的页面,对于百年不会被查看一次的帖子,如果访问一次,那么也会被缓存起来。得不偿失。还有一种是“滑动窗口”的缓存策略,比如说缓存10分钟,那么在这10分钟之内又被访问了,则缓存的失效时间修改为从被访问这一刻起的10分钟之后,以此类推,这样帖子就可以实现“长期缓存”,而不经常访问的帖子也不会因为偶然访问,而被长期占用缓存。设置方法,CacheExpirationPolicy = “Sliding”

<asp:ObjectDataSource  runat="server" EnableCaching ="true" CacheDuration ="15">
</asp:ObjectDataSource>