添加到System.Web.Caching.Cache的项的默认行为是什么?

时间:2012-04-24 15:03:38

标签: c# asp.net

与添加到ASP.NET缓存的项目相关的默认过期参数是什么?

添加的项目是否会在一段绝对时间后过期,如果是,那么默认的过期时间是多少?或者他们使用滑动窗口?

我似乎无法找到对添加的项目的默认行为的任何引用,我需要知道,因为我支持一个代码库,其中所有对Cache的调用都是通过Cache [key] = value完成的,而不是指定显式的依赖/过期策略

3 个答案:

答案 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";
  

这会将项目存储在缓存中而没有任何依赖关系,因此除非缓存引擎将其删除才能生成,否则它将不会过期   其他缓存数据的空间。