Каковы веские причины использования MemoryCache в обычном старом словаре <string, object>
Я только что встретил MemoryCache, который является новым в .NET 4.
Я понимаю, что это может быть полезно, если вы хотите:
- Ограничить общее использование памяти кэшем
- Имейте время истечения срока действия объекта (время жизни) для объектов, которые вы кладете в кеш
Есть ли другие веские причины использовать MemoryCache по стандарту Dictionary<string,object>
У меня есть несколько книг на С# и .NET, и в ней нет ссылки.
Ответы
Ответ 1
Я думаю, вы прибили две убедительные причины: -)
MemoryCache имеет стратегию выселения, поэтому он может выкидывать записи, которые больше не нужны, или для того, что вам больше не хватает памяти.
Словарь не "потеряет содержимое".
Обновление: MemoryCache является потокобезопасным и имеет такие методы, как AddOrGetExisting. С помощью словаря вам придется синхронизировать доступ самостоятельно (или использовать ConcurrentDictionary).