.NET Framework 4.0 MemoryCache
vs ObjectCache
有什麼區別? 哪裏可以使用哪個對象?.net 4.0中MemoryCache與ObjectCache有什麼區別?
回答
ObjectCache是一個抽象類,演示瞭如何構建符合規則的高速緩存,寫入ObjectCache的人希望您遵守規則。您不能直接實例化ObjectCache,因爲它是abstract。
的MemoryCache是ObjectCache的實際執行。
從文檔:
代表對象的高速緩存,並提供基座的方法和用於訪問該對象緩存 屬性。
表示實現內存中的高速緩存的類型。
縱觀聲明的MemoryCache:
public class MemoryCache : ObjectCache,
IEnumerable, IDisposable
我們可以看到的MemoryCache從ObjectCache繼承 - 也就是說,它是對象使用內存作爲其存儲的高速緩存 - 因此,這是一個實現ObjectCache的。
你可以寫你自己的;例如DatabaseCache,它也可以從ObjectCache繼承,但它會使用數據庫作爲後備存儲。
對於日常使用,只要它滿足你的需求,你可以使用和消耗的MemoryCache。如果你想自己寫,你可以從ObjectCache繼承並實現所需的方法和屬性。但是,實際上,這樣做可能沒有什麼實際好處,因爲微軟已經制定了其他幾種緩存解決方案,就像許多其他供應商一樣。
要創建您自己的應用程序,請參閱[在MSDN上創建自定義緩存類](https://msdn.microsoft.com/en-us/library/ff919782.aspx#Anchor_5) – Stacked
ObjectCache
是一個抽象類,你不能「使用」它本身。正如Dash在他的評論中所說的,它旨在展示如何構建緩存以及它支持哪些操作。 MemoryCache
是ObjectCache
的實現,從你的問題可能是你應該使用的。然而,由於ObjectCache
是抽象的,你可以很容易地編寫自己的FileCache
從ObjectCache
繼承,這將是非常有效的。
從MSDN
;
的ObjectCache類型是用於在內存中的對象 緩存的主要類型。內置的MemoryCache類派生自ObjectCache 類。 MemoryCache類是.NET Framework 4中的唯一具體對象緩存 實現,該實現源自 ObjectCache類。從
ObjectCache
public class MemoryCache : ObjectCache,
IEnumerable, IDisposable
MemoryCache
繼承。
您可以像這樣獲得對默認MemoryCache
實例的引用;
public static ObjectCache cache = MemoryCache.Default;
- 1. .net 4.0和.net 4.0.3有什麼區別?
- 2. ObjectCache的「Set」和「Add」有什麼區別?
- 3. .Net 4.0 MemoryCache清除
- 4. android 2.3 vs android 4.0有什麼區別
- 5. 目標框架vs2010中有什麼區別:.net framework 4.0和.net framework 4.0客戶端配置文件?
- 6. .NET和ASP.NET有什麼區別嗎
- 7. C#和.NET有什麼區別?
- 8. .NET double和python float有什麼區別?
- 9. C#.net和Visual Basic.net有什麼區別?
- 10. Netduino和.NET Gadgeteer有什麼區別?
- 11. .Net 2.0/3.5/4.0中的Windows Forms實現之間有什麼區別?
- 12. NET Frameworks 3.5和4.0之間的主要區別是什麼?
- 13. 繼承與類別有什麼區別
- 14. Nokogiri中.at_css與.css有什麼區別?
- 15. OleDB與SQLClient有什麼區別?
- 16. NET 4.0 SpinWait方法與4.0之前的SpinWait()有什麼不同?
- 17. 有什麼區別`和$(Bash中有什麼區別?
- 18. 有什麼區別)Scala中
- 19. 有什麼區別
- 20. 有什麼區別
- 21. 有什麼區別?
- 22. 有什麼區別?
- 23. 有什麼區別?
- 24. 有什麼區別
- 25. ....有什麼區別?
- 26. 有什麼區別?
- 27. 有什麼區別
- 28. 有什麼區別
- 29. 有什麼區別
- 30. 有什麼區別?
的MemoryCache是具體落實ObjectCache的。從設計角度來看,ObjectCache是抽象的,並且演示瞭如何構建緩存。 MemoryCache就是這個的實際實現。 – dash