2011-08-02 51 views
2

我有一個應用程序使用來自表中的數據,該表中的很多部分幾乎總是不變。
這似乎是一個正確的地方來緩存它。所以:我需要製作緩存的數據列表才能使用它,但有一些過期超時後,我的緩存列表應該從數據庫更新自己(這就是爲什麼全局靜態列表不適用於這種情況)。在.NET Framework 4中從數據庫緩存的數據列表

PS確定那不是那麼困難,但即時新的緩存和幫助將節省我的時間,謝謝。至少我可以創建靜態列表,它會在另一個線程中使用計時器超時後更新,但我認爲這樣的解決方案太難看了。

回答

3

很多的提示這裏就如何實現這一目標:

http://msdn.microsoft.com/en-us/library/dd997357.aspx

Cache可以配有到期日,因此會去不處理重新獲取一個設定的時間量後的數據定時器等

+0

如何在一段時間後更新緩存?..有一些ChangeMonitors,但如何在一段時間後啓動事件(到期超時),例如,沒有定時器..? – 0x49D1

+0

我的列表中,我想要使用的緩存將是這樣的:實體上下文=新的實體(); var cacheList = context.Dictionaries.ToList(); (我在這裏使用EF來獲取數據,所以我需要在到期時間後重新查詢數據庫) – 0x49D1

+0

您不會 - 它會在您讀取時更新並且緩存超時已過期。爲了實施,您最初存儲了數據被提取的日期。每次您從緩存中讀取數據時,都會檢查當前日期,如果預定時間已過,則您再次讀取並重新獲取緩存副本。 – Deleted