我看看.Net框架對象緩存(System.Runtime.Caching
)API,我看不到任何支持將「標籤」附加到緩存對象。.Net 4框架對象緩存和標籤
我正在尋找一個類似於AppFabric的API,它可以支持將標籤附加到緩存對象,然後根據標籤檢索對象。
在System.Runtime.Caching
上面有沒有公開可用的庫可以實現這個功能?
我看看.Net框架對象緩存(System.Runtime.Caching
)API,我看不到任何支持將「標籤」附加到緩存對象。.Net 4框架對象緩存和標籤
我正在尋找一個類似於AppFabric的API,它可以支持將標籤附加到緩存對象,然後根據標籤檢索對象。
在System.Runtime.Caching
上面有沒有公開可用的庫可以實現這個功能?
查看了System.Runtime.Caching
命名空間後,我認爲將其擴展到包含標記會非常困難(儘管不一定不可能)。如果您查看ObjectCache
的members(它似乎是緩存的基類),則標記方法不支持(如果您查看.NET 4.5 preview,則不支持即將支持)。
很明顯,方法可以重載以提供標籤,但CacheItem
然後還需要擴展以添加標籤屬性。那麼我擔心,對於任何類似於AppFabric支持的基於標記的搜索方法,緩存將被減少爲遍歷所有CacheItems並逐一檢查它們,這可能沒有對你可能希望的性能產生影響(儘管如此,我可以看到基於數據庫的緩存在這方面可能有優勢)。
還有在DefaultCacheCapabilities
枚舉標籤不支持(並再次,沒有即將出版),所以沒有辦法一個API來通知任何來電,它可以使用標籤。
這就是我所懷疑的,但是我們可能會寫出「優化代碼」來支持標籤。 – Ngm 2012-01-17 11:21:11