我有一些麻煩讓我的緩存以我想要的方式工作。ASP.NET持久緩存(「懶惰加載」式?)
問題: 的檢索請求的數據是非常耗時的過程。如果使用標準的ASP.NET緩存,一些用戶將會用「檢索」數據。這是不可接受的。
解決方案?: 數據是100%流量並不是非常重要。我想在更新另一個線程中的緩存數據的同時服務舊的無效數據,以便將來的請求使用新數據。我認爲數據需要以某種方式持續存在,以便能夠在應用程序重新啓動後爲第一個用戶提供服務,而無需用戶執行「命中」操作。
我已經做了一個解決方案,做了一些上述,但我想知道是否有一個「最佳實踐」的方式或有一個緩存框架已經支持這種行爲?
好主意..我沒有想到這一點。 但是,使用這種解決方案,訪問該網站的第一個用戶仍然需要更新緩存的「命中」。另外,因爲我使用內聯代理來獲取數據,所以我不知道如何在RemovedCallback中重新運行委託。 – hakksor 2009-06-30 06:44:22
對不起,我忘了解決這個部分。在你的Global.Asax應用程序啓動中,產生一個線程,向所需的數據發出「假」請求。這種方式已經在工作或者已經完成了第一個要求。 – BigBlondeViking 2009-06-30 13:02:32