.Net 4框架对象缓存和标签

问题描述:

我看看.Net框架对象缓存(System.Runtime.Caching)API,我看不到任何支持将“标签”附加到缓存对象。.Net 4框架对象缓存和标签

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

System.Runtime.Caching上面有没有公开可用的库可以实现这个功能?

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

很明显,方法可以重载以提供标签,但CacheItem然后还需要扩展以添加标签属性。那么我担心,对于任何类似于AppFabric支持的基于标记的搜索方法,缓存将被减少为遍历所有CacheItems并逐一检查它们,这可能没有对你可能希望的性能产生影响(尽管如此,我可以看到基于数据库的缓存在这方面可能有优势)。

还有在DefaultCacheCapabilities枚举标签不支持(并再次,没有即将出版),所以没有办法一个API来通知任何来电,它可以使用标签。

+0

这就是我所怀疑的,但是我们可能会写出“优化代码”来支持标签。 – Ngm 2012-01-17 11:21:11