缓存与定时更新
页面输出缓存3600秒
protected void Application_Start(Object sender, EventArgs e)
{
//定时更新开始(自动更新数据库)
//时间间隔为3600秒
假设更新数据库需要花费5分钟,那么页面缓存就错过了更新时机。该如何解决
}
------解决方案--------------------up
------解决方案--------------------缓存当然在依赖条件一旦不满足之后立刻过期。Duration仅是其中最简单的一种依赖项。msdn、网上的资料足够了,你可以稍微深入一点去看。
------解决方案--------------------已经说过了,缓存应该是在控件所依赖的那个数据库记录被更新,或者访问用户改变,或者控件内部请求数据等任意一个条件改变时立刻刷新。你可以将3600改为36000或者更高,然后专心设置缓存过期的控制。
为什么纠缠于多长时间定时更新一次这么简单的措施呢?!
------解决方案--------------------不知道你为何总是把Duration与“避免错过更新时机”纠缠在一起给自己设置困难。这两个根本事就是两个不同的缓存依赖项,不要纠缠在一起说。
------解决方案--------------------写个过期的条件不就可以了