为什么System.Web.Cache偶尔会丢失缓存?

时间:2010-01-22 10:47:56

标签: asp.net-mvc caching

我一直在使用System.Web.Cache进行测试。这是一个非常好的缓存存储,并加快了我的网页速度。但我不知道有一些情况,其中我运行了更多的页面,当我再转回该页面几次,页面查询再次(我使用分析器检查)。

System.web.cache是​​否缓存在Ram或某种类型的闪存中,当内存不足时,缓存会暂时关闭缓存?或者是我的错误?使用System.web.cache进行生产是否合适?

祝你好运:)

3 个答案:

答案 0 :(得分:4)

当您的系统内存不足时,缓存将自动开始删除项目,它所选择的项目可以通过您将它们插入缓存时给予的优先级在某种程度上进行控制。使用CacheItemPriority枚举在Cache.Add()方法中指定优先级。是的,缓存适用于生产,无论您的具体实施是否好,只有您可以告诉。

答案 1 :(得分:3)

要注意的另一个问题是IIS应用程序池何时被回收。

答案 2 :(得分:1)

是的,ASP.NET缓存非常适合生产使用(但是,如果您有一个Web场,请考虑Velocity)。是的,它会自动删除基于内存,项目优先级和项目的项目。其他“指标”。