【问题标题】:.Net 4 Framework Object Caching and Tags.Net 4 Framework 对象缓存和标签
【发布时间】:2012-02-12 00:52:01
【问题描述】:

我查看了 .Net Framework 对象缓存 (System.Runtime.Caching) API,但没有看到任何支持将“标签”附加到缓存对象。

我一直在寻找类似于 AppFabric 的 API,它可以支持将标签附加到缓存的对象,然后根据标签检索对象。

是否有任何基于 System.Runtime.Caching 构建的公开可用的库可以实现这一目标?

【问题讨论】:

    标签: .net caching .net-4.0 appfabric


    【解决方案1】:

    看过System.Runtime.Caching 命名空间后,我认为将其扩展为包含标记将(非常)困难(尽管不一定不可能)。如果您查看ObjectCachemembers,它似乎是缓存的基类,则标签的方法不支持(如果您查看.NET 4.5 preview,也没有即将提供的支持)。

    显然方法可以被重载以提供标签,但CacheItem 还需要扩展以添加标签属性。然后我会担心,对于类似于 AppFabric 支持的 GetObjectsByTag / ByAllTags / ByAnyTag 的任何类型的基于标签的搜索方法,缓存将减少为遍历所有 CacheItems 并通过以下方式检查它们一种可能不会对您可能希望的性能产生影响(尽管如此,我可以看到基于数据库的缓存在这方面可能具有优势)。

    DefaultCacheCapabilities 枚举中也不支持(同样,也不支持)标签,因此 API 无法向任何调用者发出信号,表明它可以使用标签。 p>

    【讨论】:

    • 这也是我所怀疑的,但可能我们可以编写“优化代码”来支持标签。
    猜你喜欢
    • 2019-03-25
    • 1970-01-01
    • 2019-03-05
    • 1970-01-01
    • 2011-09-19
    • 2010-12-13
    • 2011-08-24
    • 1970-01-01
    相关资源
    最近更新 更多