与添加到ASP.NET缓存的项目相关的默认过期参数是什么?
添加的项目是否会在一段绝对时间后过期,如果是,那么默认的过期时间是多少?或者他们使用滑动窗口?
我似乎无法找到对添加的项目的默认行为的任何引用,我需要知道,因为我支持一个代码库,其中所有对Cache的调用都是通过Cache [key] = value完成的,而不是指定显式的依赖/过期策略
答案 0 :(得分:3)
根据the documentation,这相当于Cache.Insert,这意味着
使用Insert方法的重载将对象添加到缓存中 插入时没有文件或缓存依赖项,优先级为Default, NoSlidingExpiration的滑动到期值和绝对值 NoAbsoluteExpiration的到期值。
实际上,这意味着ASP.NET将根据内存压力对其进行管理。
答案 1 :(得分:2)
默认情况下,提交到缓存的项目将保留在那里,直到内存不足并且ASP.NET认为它有更重要的内容存储。
答案 2 :(得分:0)
来自ASP.NET Caching: Techniques and Best Practices
在Cache中存储数据的最简单方法就是分配它, 使用键,就像HashTable或Dictionary对象一样:
Cache["key"] = "value";
这会将项目存储在缓存中而没有任何依赖关系,因此除非缓存引擎将其删除才能生成,否则它将不会过期 其他缓存数据的空间。