System.Runtime.Caching.MemoryCache 列出缓存实例

本文关键字:缓存 实例 MemoryCache Runtime Caching System | 更新日期: 2023-09-27 18:33:40

我正在使用 .net 4 中的内存缓存和多个命名的缓存实例。我想知道有没有办法列出当前内存中的所有缓存实例?

System.Runtime.Caching.MemoryCache 列出缓存实例

如果没有对缓存实例的引用,就无法获取当前内存中的缓存实例。

因此,解决方案是自己列出清单并以这种方式进行跟踪。

List<System.Runtime.Caching.MemoryCache> cacheInstances = new List<System.Runtime.Caching.MemoryCache>();

然后,只需在创建新的MemoryCache对象时添加到该列表中(并在销毁时将其删除)。

MemoryCache并不是什么神奇的东西,你可以把它看作是使用时的改进:

Dictionary<String, Object> myCache

hashtable

MemoryCache 的好处是可以获得对象到期 (TTL),当缓存接近某些存储限制(访问优先级队列)时,可以更好地控制删除最近使用较少的项目。

因此,如果您想知道内存中当前有哪些 MemoryCache 实例,那么您需要引用它们,我很确定您无法访问不同进程的内存缓存,因此只有您创建的内存缓存才会存在。