2013-06-29 13 views
1

我有一個mvc項目。我們有一些必須爲每個用戶收集的數據。我創建了一些單例類來緩存數據以實現更好的責任。有些人避免在他們的項目中使用單例類。 我想知道你喜歡這個,如果不是,你的替代品是什麼?我需要在我的mvc項目上緩存數據。什麼是正確的方式?

+0

在這裏閱讀:[HttpCache vs Singleton - MVC應用程序的最佳實踐](http://stackoverflow.com/questions/13990623/httpcache-vs-singleton-best-practice-for-an-mvc-application) – YD1m

回答

1

99%的正確方法不是重新發明輪子。如果您對System.Web.Caching.Cache不滿意,則可以爲每個用戶使用System.Runtime.Caching.MemoryCache實例。

1

我不明白爲什麼你不應該緩存數據在你的單身。我也使用這種緩存方式,以大大減少數據庫調用的數量。只要確保您的緩存保持最新。

我不知道你的項目和它的環境,但在我的情況下,有些情況下數據庫中的數據從另一個應用程序中改變。我實現了一個數據庫觸發器來解決這個問題。你應該考慮在你的情況下做同樣的事情,所以無論何時你的本地緩存數據在數據庫中發生變化,你都會得到通知並且可以更新緩存。

我認爲我不必提及這一點,但緩存當然通常只對比較有用靜態數據不會經常更改。

相關問題