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

本文关键字:默认 是什么 项目 添加 System Web Caching Cache | 更新日期: 2023-09-27 18:32:03

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

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

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

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

根据文档,这相当于 Cache.Insert,这意味着

使用 Insert 方法的重载添加到缓存的对象 插入时没有文件或缓存依赖项,优先级为"默认", 滑动到期值为无滑动过期值,并且绝对值 无绝对过期值。

实际上,这意味着 ASP.NET 将根据内存压力对其进行管理。

默认情况下,提交到缓存的项目将保留在那里,直到内存不足并且 ASP.NET 决定它有更重要的东西要存储。

来自 ASP.NET 缓存:技术和最佳实践

在缓存中存储数据的最简单方法是简单地分配它, 使用键,就像 HashTable 或 Dictionary 对象一样:

Cache["key"] = "value";

这将在没有任何依赖项的情况下将项目存储在缓存中,因此除非缓存引擎将其删除以使 空间用于其他缓存数据。