我正在使用由System.Runtime.Caching.MemoryCache
提供的緩存。我可以迭代.NET4 MemoryCache嗎?
我想枚舉緩存的項目,這樣我可以無效(逐出然後重新加載)項目這樣
foreach (var item in MemoryCache.Default) { item.invalidate() }
但官方文檔found here狀態:
重要:檢索MemoryCache實例的枚舉器是一個資源密集型和阻塞操作。因此,統計員應該在生產應用中使用 。
當然,必須有一個簡單而有效的方法來迭代緩存的項目?
也許你會在某種程度上需要知道什麼東西在緩存......但這意味着使用數組或其他東西。 – sinni800
是的,這就是我現在正在做的事情,但這太瘋狂了,因爲這意味着我正在跟蹤緩存已經跟蹤的內容! :) –
沒問題。但是如果緩存容納了大量的數據,並且你的數組只包含了抵達這些數據的信息,那麼它就能保持良好的狀態。 – sinni800