我在.net 4 中使用带有多个命名缓存实例的内存缓存。我想知道有没有办法列出当前内存中的所有缓存实例?
问问题
540 次
1 回答
0
如果没有对它们的引用,就无法获取当前在内存中的缓存实例。
因此,解决方案是自己列一个清单,并以这种方式进行跟踪。
List<System.Runtime.Caching.MemoryCache> cacheInstances = new List<System.Runtime.Caching.MemoryCache>();
然后在创建新对象时添加到该列表MemoryCache
(并在销毁时删除)。
MemoryCache 并不是什么神奇的东西,您可以将其视为对使用的改进:
Dictionary<String, Object> myCache
或hashtable
改为。
MemoryCache 的好处是您可以获得对象到期 (TTL),当缓存接近某些存储限制(访问优先级队列)时,您可以更好地控制删除最近使用较少的项目。
因此,如果您想知道内存中当前有哪些 MemoryCache 实例,那么您需要引用它们,我很确定您无法访问不同进程的内存缓存,因此只会存在您创建的 MemoryCaches。
于 2012-05-10T09:19:25.560 回答