2011-02-16 99 views
2

我有一個應用程序通過Web服務來訪問數據庫中的數據。 出於性能考慮,我將所有應用程序參數存儲在緩存中,否則我會在每個頁面請求上調用Web服務。 這些參數的一些示例是要顯示的搜索結果的數量,或者是否顯示任何信息。 參數存儲在數據庫中,因爲它們是通過Windows管理應用程序編輯的。 所以這裏出現了我的問題,因爲這些參數不必過期(我將它們存儲了幾個小時),將它們存儲在一個靜態變量(如單例)中會更有效嗎? 你覺得呢?性能:asp.net緩存與單身人士

回答

3

我不認爲在將參數存儲在HttpCacheSingleton對象中會有明顯的性能差異。無論哪種方式,您需要在應用程序啓動時加載參數。

使用HttpCache的優點是,它已經被構建來處理到期和刷新,我假設你會想要。如果你從來沒有想刷新參數,那麼我想你可以使用一個Singleton由於簡單。

構建您自己的自定義類的好處是,您可以爲參數獲得一些靜態類型,因爲您從HttpCache獲取的所有內容都將是object。但是,爲HttpCache構建自己的包裝將會返回一個強類型對象,這將是微不足道的。

+0

這些參數不必刷新,除非在夜間每天可能有一次。事實上,如果在應用程序正在使用時不刷新,它會更好。但我只是在這裏談論性能,而對我而言,問題在於緩存需要做更多的工作,而不僅僅是存儲數據,比如處理過期,以及通過密鑰重新獲取數據。但我想知道它有多重要。那麼,自從我嘗試以後,我可能很快就會收到回覆... – Johnny5 2011-02-17 00:25:41