2013-12-12 65 views
0

我正在研究Caching Application Enterprise Library,它由System.Runtime.Caching類棄用。對於這種緩存概念,爲什麼我應該使用這些緩存框架,而不是僅僅使用我的程序中的一些全局對象,這些對象可以將對象保存在我的軟件的生命週期中,並且如果需要這些對象可以保存在數據庫或文件系統中。使用它有什麼好處?僅僅是因爲線程安全的目的,或者我應該何時使用它來代替我自己的全局對象?爲什麼我應該在我的代碼中使用緩存?

有人能給我,我應該在項目中(例如,多線程)納入該緩存機制現實生活中的好方案。

感謝,

回答

1

緩存庫的有用的部分是,一些條件得到滿足後,便可以自動從緩存中刪除的項目(通常是一段時間後)。

一個很好的理由,開始在項目中使用緩存以提高性能。如果你有一個網站,需要查詢每個頁面加載數據庫,您可以緩存數據庫結果,使你的網頁不每次都需要打到數據庫。這可以顯着增加網頁加載時間,並且可以讓您的網站爲更多用戶提供服務。

當你使用緩存,是爲提高性能交易實時數據。知道何時過期緩存項目以防止使用過時的數據是「two hard things in computer science」之一。

1

種類廣泛的問題,但在這裏就是爲什麼你可能想使用一個System.Runtime.Caching.MemoryCache而不是一個全局對象:

  • 您擁有控制權,這將是的內存量由MemoryCache使用。
  • MemoryCache是​​線程安全的。儘管對緩存本身的訪問是線程安全的,但這並不意味着緩存中的項是線程安全的。
  • 您放入高速緩存可以有自己的到期或驅逐策略,你可以掛接到火項從緩存中刪除時,事件的每個項目。
  • 有內置的性能計數器,讓你監控的MemoryCache的性能。
相關問題