【问题标题】:HttpRuntime.Cache scavenging default behavior?HttpRuntime.Cache 清除默认行为?
【发布时间】:2010-04-27 20:43:14
【问题描述】:

当使用默认插入方法 Insert(key, value) 并使用 HttpRuntime.Cache 的默认行为添加项目时,何时进行清理?

托管我的应用程序的应用程序池的限制为 0(无限制)...但我看不出有什么办法可以在清理发生之前找出缓存的大小?问题是我正在缓存可能非常大量的数据,但我在服务器上的内存有限,我想避免回收应用程序池。

我在 IIS6 和 IIS7 的上下文中询问。

谢谢。

【问题讨论】:

    标签: asp.net iis-7 iis-6


    【解决方案1】:

    简短的回答是缓存从Cache.EffectivePrivateBytesLimit开始清除。

    默认限制是使用多种因素计算得出的,通常应防止您的流程过度回收。理想情况下,应用程序不会受到回收的影响,但我意识到这并不总是可能的原因有很多。如果需要,您应该能够set memory limits for the cache 配合应用程序池回收设置。

    asp.net 团队的 Thomas Marquardt 写信给 a very interesting post explaining the details

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-22
      • 1970-01-01
      • 1970-01-01
      • 2022-12-17
      • 2011-01-10
      • 2018-05-29
      相关资源
      最近更新 更多