2009-02-09 86 views
9

我在使用ASP.NET MVC框架方面相當新穎,希望在緩存我的MVC Web應用程序的各個部分時能找到一些有關最佳實踐的幫助。我知道堆棧溢出使用MVC和一些非常自由的真棒緩存技術,其MILES速度比我的應用程序快,即使在本地運行。在ASP.NET MVC框架中緩存

我有幾個問題。

  1. 緩存如何實際工作,以及如何「啓用」它,以及有哪些不同的選項。什麼是最好的緩存使用?

  2. 我的應用程序有很多數據庫事務,列表定期更改。我很擔心頁面刷新的時間,用戶沒有得到最新版本的數據。什麼是在Web應用程序速度和顯示「最新」數據之間取得平衡的最佳方式?你們在處理這個問題時發現了哪些最佳做法?

  3. 如何使用不同的緩存設置緩存不同的部分(我假設爲視圖)?我認爲它可以用子控制器完成,但我有NFI如何去做這件事。

  4. 我正在使用Castle.Windor集成到控制器,我不確定這是否會改變任何東西。

  5. 任何其他最好的做法注意事項要小心/小心將不勝感激。

回答

3

你可能想看看Phil Haack post的一些甜甜圈緩存。他是ASP.NET MVC的參考:)

+0

還有Stephen Walther和ASP.NET MVC上的其他人。這不僅僅是被嘲笑。 – 2009-02-21 12:21:28

1

您可以使用OutputCache屬性輕鬆緩存視圖。我使用nHibernate緩存機制緩存任何不經常更新的列表。

2

從「最佳實踐」的角度來看,您需要考慮在使用緩存的任何應用程序中必須考慮的相同事情。

  • 流量是否足夠高以利於緩存?
  • 特定數據段多長時間一次?時效性至關重要?
  • 我是否擁有數據訪問層?如果是這樣,我可以通過實際更改數據來觸發緩存中的刷新,並避免基於時間的到期?

這個名單還在繼續。