天天看點

艾偉_轉載:ASP.NET資料緩存之資料緩存淺談

  ASP.NET資料緩存的學習是如何呢?如何使用ASP.NET資料緩存呢?在講ASP.NET資料緩存之前還要先說一下如果在頁面中使用參數緩存。前面講過一個緩存設定VaryByParam="none"為無參數,我們也可以對VaryByParam進行設定,設定的參數與随 GET 方法屬性發送的查詢字元串值對應,或與使用 POST 方法發送的參數對應。将該屬性設定為多個參數時,對于每個指定參數組合,輸出緩存都包含一個不同版本的請求文檔。可能的值包括 none、星号 (*) 以及任何有效的查詢字元串或 POST 參數名稱。簡單點說,就是設定成我們在頁面中使用的QueryString名稱,看個例子:

  運作後分别點選16和19會根據這兩個關鍵字SELECT出不同的資料,這時候根據我們傳遞的兩個參數會分别建立兩個緩存頁,在每點選一個關鍵字後請記住顯示的時間,再反複重新整理看看時間有什麼變化!好了接下來講一下資料緩存。

  ASP.NET資料緩存(Data Caching)

  在System.Web.Caching空間裡有一個類“Cache”我們可以通過這個類對資料進行緩存。

  最簡單的緩存方法:Cache["MyCacheString"] = "My CSDN BLOG!!!"; 通過指派的形式建立一個緩存,再通過指派的形式取出緩存:myLabel.Text = Cache["MyCacheString"].ToString();這種方法使用非常的簡單可是功能上受到了一些限制,為了更完善的訂制緩存,應該使用Cache.Insert()方法,下面舉個例子:

  頁面裡隻需要放一下GridView就可以了

ASP.NET資料緩存參數說明

  Cache.Insert (String, Object, CacheDependency, DateTime, TimeSpan) 1是緩存的名稱,2是緩存的資料對象,3是緩存鍵依賴項,通常為Null,4是過期時間,如果使用相對過期時間則設為NoAbsoluteExpiration,5是可調過期時間,如果參數4使用了固定過期時間,則此參數要設成NoSlidingExpiration。呵呵是不是看的有點暈啊,舉兩個具體例子說一下過期時間的問題

Cache.Insert("ds", dv, null,DateTime.Now.AddMinutes(5) , System.Web.Caching.Cache.NoSlidingExpiration);

在這個例子裡當緩存建立後過5分鐘就過期。

Cache.Insert("ds", dv, null, System.Web.Caching.Cache.NoAbsoluteExpiration, TimeSpan.FromMinutes(5));

這個例子裡緩存建立後,過期時間為可調,比如1:20秒建立的緩存過期時間應該是6:20但如果在3:20有人通路了緩存,則過期時間将調整為8:20,以此類推……

我們在VS2005裡建立一個測試看看使用緩存前和使用緩存後的性能變化吧!看到沒有,沒有緩存前用了0.43秒而使用緩存後隻用了0.08秒性能相差5倍多啊!!!

ASP.NET資料緩存的相關内容就向你介紹到這裡,希望對你了解和學習ASP.NET資料緩存有所幫助。

繼續閱讀