何时在.net web应用程序中清除MemoryCache

本文关键字:清除 MemoryCache 应用程序 web net 何时 | 更新日期: 2023-09-27 18:18:37

我在MVC和Web API应用程序中使用MemoryCache来缓存对象。我正在初始化我的Global.asax.cs中的缓存。

IE:

MemoryCache c = new MemoryCache(cacheNamespace);
var cacheItem = new CacheItem(key, value);
c.Add(cacheItem, cachePolicy);

然而,我想知道这个缓存何时被释放?当我重新启动应用程序时?当然,这是假设我没有耗尽内存

何时在.net web应用程序中清除MemoryCache

如果您的问题是cacheItem何时被释放-它将取决于cachePolicy

然而,如果你的问题是MemoryCache对象何时被释放。答案是Never,因为它被内部计时器回调所占用。你必须Dispose对象来释放它。

MemoryCache是一个非常沉重的对象,你应该只在真正需要的时候创建自己的实例。一般情况下使用MemoryCache.Default实例