.Net 4 Framework Кэширование объектов и теги - PullRequest
0 голосов
/ 17 января 2012

Я посмотрел на API .Net Framework Object Caching (System.Runtime.Caching) и не вижу никакой поддержки для прикрепления "тегов" к кешированным объектам.

Я искал API, подобный этомуAppFabric, которая может поддерживать прикрепление тегов к кэшированным объектам, а затем извлекать объекты на основе тега.

Существуют ли общедоступные библиотеки, построенные сверху на System.Runtime.Caching, которые могут этого достичь?

1 Ответ

0 голосов
/ 17 января 2012

Посмотрев на пространство имен System.Runtime.Caching, я думаю, было бы (очень) сложно (хотя и не обязательно невозможно) расширить его, чтобы включить тегирование. Если вы посмотрите на members для ObjectCache, который, по-видимому, является базовым классом для кэшей, в методах для тегов не будет поддержки (и не будет поддержки в будущем, если вы посмотрите на ). Предварительный просмотр .NET 4.5 ).

Очевидно, что методы могут быть перегружены для предоставления тегов, но CacheItem также требует расширения для добавления свойства Тегов. Тогда я был бы обеспокоен тем, что для любого вида методов поиска на основе тегов, подобных GetObjectsByTag / ByAllTags / ByAnyTag, поддерживаемых AppFabric, кэш будет сокращен до итерации по всем элементам CacheItems и проверки их по одному тот, который может не повлиять на производительность, на которую вы могли бы надеяться (хотя при этом я вижу, что кеш на основе базы данных может иметь преимущества в этом отношении).

В перечислении DefaultCacheCapabilities тегов также нет поддержки (и опять же нет), поэтому API не может сообщать вызывающим абонентам, что может использовать теги.

...