使用默认插入方法Insert(key,value)添加项目时,使用HttpRuntime.Cache的默认行为,何时进行清理?
托管我的应用程序的应用程序池的限制是0(无限制)...但我看不出有什么办法可以找出在清理之前缓存有多大?问题是我正在缓存可能非常大量的数据,但我在服务器上的内存有限,我想避免回收应用程序池。
我在IIS6和IIS7的上下文中询问。
谢谢。
答案 0 :(得分:0)
简短的回答是缓存开始在Cache.EffectivePrivateBytesLimit清除。
默认限制是使用多种因素计算的,通常应使您的流程不会过度回收。理想情况下,应用程序不会受到回收的影响,但我发现有很多原因导致这种情况并非总是存在。如果需要,您应该能够与应用程序池回收设置set memory limits for the cache配合使用。
来自asp.net团队的Thomas Marquardt撰写了a very interesting post explaining the details。