這個就先需要先知道一下System.Web.Caching.Cache類,其實在我做WEB應用的時候,我會將一些使用 頻繁但是又要經常使用並且需要急時更新的對象放到Cache中,這樣可以很大程序上減少從硬盤上讀取數 據的次數。
就是希望讓Web應用程序從一開始運行到結束都一直存在,有人就說為什麼不用Application呢?其實 Cache是可以一段時間內自動更新數據的,而 Application就無法做成這樣的,另外Application在Web這 種高並發的系統中一定要考慮線程安全的問題,Application本身就不是線程安全的,而Cache就是線程安 全。所以一般我都會在很多對象中我只從Web開始運行的時候從數據庫或文件裡獲取一次數據,在不同的 頁面中,都是使用Cache的,而且Cache中的數據可能弄成自動更新的,所以一般情況不需要考慮數據更新 的問題,另外Cache也是也應用程序關聯的,全部可能駐留在該Web應用程序中的任何頁面。
當然首先我們應該熟悉一下System.Web.Caching.Cache這個類,我這裡也就只說說其中使用比較多的幾 個方法和屬性,如果需要更詳細的介紹請查閱MSDN。
首先介紹它的Add()方法,將指定的對象添加到Cache對象集合中。
Insert()方法將覆蓋有相同Key的Cache頂。
Remove()從應用程序的Cache對象中移除指定項。
Count屬性,獲取存儲在緩存中對象數。
這裡我主要要說的是Add()方法,因為我們如果想要長期存在Cache並且在一段時間內自動替換Cache, 就必須非常了解它。我們看看MSDN中對該方法的詳細介紹吧。呵。
C#
public Object Add(
string key,
Object value,
CacheDependency dependencies,
DateTime absoluteExpiration,
TimeSpan slidingExpiration,
CacheItemPriority priority,
CacheItemRemovedCallback onRemoveCallback
)
參數
key
類型:System.String
用於引用該項的緩存鍵。
value
類型:System.Object
要添加到緩存的項。
dependencies
類型:System.Web.Caching.CacheDependency
該項的文件依賴項或緩存鍵依賴項。當任何依賴項更改時,該對象即無效,並從緩存中移除。如果沒 有依賴項,則此參數包含 nullNothingnullptrnull 引用(在 Visual Basic 中為 Nothing)。
absoluteExpiration