簡體   English   中英

asp.net mvc 4 cache vs entityframework 6 cache

[英]asp.net mvc 4 cache vs entityframework 6 cache

我和朋友正在使用ASP.NET MVC 4EntityFramework 6開發Web應用程序。 我們實現了存儲庫模式,當然每次用戶發出訪問數據庫中數據的請求時,都會初始化並刪除實體框架上下文,因此不會利用緩存系統實體Framework第一級。

我想在Entity Framework中實現二級緩存,但他告訴我們沒有必要使用ASP.NET Cache。 我的問題是,

何時使用每種類型的緩存?

彼此有多快?

何時使用每種類型的緩存?

還有其他性能改進模式,而不是編寫自己的EF提供程序,為了實現二級緩存,您必須這樣做。 我的建議(這就是建議)將永遠不會實現EF二級緩存。

獲得正確的緩存非常困難,尤其是緩存失效。

如果您的最終目標是快速提供網頁,那么asp.net緩存(或OutputCache)是實現這一目標的一種方式。 但是,您必須選擇何時使緩存無效,這也很困難。

彼此有多快?

緩存通常將數據存儲在RAM中,因為這是物理獲取數據的最快方法。 然而,最終速度將取決於。 你使用什么緩存提供程序? 您的部署是否負載均衡,如果是,它們是否共享相同的緩存? 他們如何訪問它? 當您處理Web時,您必須考慮數據將通過網絡傳輸,因此所有這些延遲問題也會起作用(有效負載/大小,跳數等)

如果性能確實是一個問題,您可能需要查看使用redis或其他nosql提供程序等工具的模式來存儲預先計算的非規范化數據集,以便更快地訪問。 您還可以訪問EF並為自己提供特定性能問題的數據訪問點。

我真的不認為你會得到任何其他答案,並不是說“它取決於”這樣或那樣。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM