缓存的老问题 相信很多人都期待答案
在页面上加了页面缓存 <%@ OutputCache Duration= "3600 " VaryByParam= "* " %>
当数据库数据有更新时如何及时的刷新缓存?
希望能给出完整的解决方案或代码
------解决方案--------------------HttpResponse.RemoveOutputCacheItem( "/testfolder/test.aspx ");
------解决方案--------------------既然已经用了缓存 就表示 在一段时间内 数据信息的更新可以不理会。
如果你真的要打到这个功能就要使用 数据库的缓存依靠 SqlDependency
------解决方案--------------------你可以google很多答案。
你可以根据页面参数、控件是否有提交数据、SQL Server数据表更改、文件是否更改、Cache中的数据项是否更改,以及自己创建的从CacheDependency继承的子类对象以及这些东西的任意复杂组合来控制。
使用缓存服务的关键就是知道如何设置各种依赖规则,如果只会设置Duration,实在是没有学到缓存的知识。努力吧!
------解决方案--------------------如果是sql2005
<caching>
<outputCacheSettings>
<outputCacheProfiles>
<add name= "CacheTest " duration= "10 " />
</outputCacheProfiles>
</outputCacheSettings>
<!-- 数据有变化是重新缓存-->
<sqlCacheDependency enabled= "true "> </sqlCacheDependency>
</caching>
------解决方案--------------------SQL2005最简单,网上有教程,但是如果是SQL2000就麻烦点,要设置触发器,这样还增加系统开销,不划算