註:本文來自於網路。
ASP.NET資料緩衝的學習是如何呢?如何使用ASP.NET資料緩衝呢?在講ASP.NET資料緩衝之前還要先說一下如果在頁面中使用參數緩衝。前面講過一個緩衝設定VaryByParam="none"為無參數,我們也可以對VaryByParam進行設定,設定的參數與隨 GET 方法屬性發送的查詢字串值對應,或與使用 POST 方法發送的參數對應。將該屬性設定為多個參數時,對於每個指定參數組合,輸出緩衝都包含一個不同版本的請求文檔。可能的值包括 none、星號 (*) 以及任何有效查詢字串或 POST 參數名稱。簡單點說,就是設定成我們在頁面中使用的QueryString名稱。
看個例子:
﹤%@ Page Language="C#" AutoEventWireup="true" CodeFile="date.aspx.cs" Inherits="date" %﹥
﹤%@ OutputCache Duration="60" VaryByParam="CustomerID" %﹥
﹤asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="~/date.aspx?CustomerID=16"﹥16﹤/asp:HyperLink﹥
﹤asp:HyperLink ID="HyperLink2" runat="server" NavigateUrl="~/date.aspx?CustomerID=19"﹥19﹤/asp:HyperLink﹥
運行後分別點擊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倍多啊!!!