程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> ASP.NET的Cache緩存應用

ASP.NET的Cache緩存應用

編輯:.NET實例教程


我們在頁面上添加三個按鈕並雙擊按鈕創建事件處理方法,三個按鈕使用不同的過期策略添加ASP.Net緩存。

<ASP:Button ID="btn_InsertNoExpirationCache" runat="server" Text="插入永不過期緩存"      
OnClick="btn_InsertNoExpirationCache_Click" /> 

  
<ASP:Button ID="btn_InsertAbsoluteExpirationCache" runat="server" Text="插入絕對時間     
過期緩存" OnClick="btn_InsertAbsoluteExpirationCache_Click" /> 

  
<ASP:Button ID="btn_InsertSlidingExpirationCache" runat="server" Text="插入變化時間     
過期緩存" OnClick="btn_InsertSlidingExpirationCache_Click" />

 

三個按鈕的Click事件處理方法如下:

protected void btn_InsertNoExpirationCache_Click(object sender, EventArgs e)    
{    
    DataSet ds = GetData();    
    Cache.Insert("Data", ds);    
}    
protected void btn_InsertAbsoluteExpirationCache_Click(object sender, EventArgs e)    
{    
    DataSet ds = GetData();    
    Cache.Insert("Data", ds,null, DateTime.Now.AddSeconds(10), TimeSpan.Zero);    
}    
protected void btn_InsertSlidingExpirationCache_Click(object sender, EventArgs e)    
{    
    DataSet ds = GetData();    
    Cache.Insert("Data", ds, null, DateTime.MaxValue, TimeSpan.FromSeconds(10));    
}

  我們來分析一下這三種ASP.Net緩存過期策略。

  ◆永不過期。直接賦值緩存的Key和Value即可

  ◆絕對時間過期。DateTime.Now.AddSeconds(10)表示緩存在10秒後過期,TimeSpan.Zero表示不使用平滑過期策略。

  ◆變化時間過期(平滑過期)。DateTime.MaxValue表示不使用絕對時間過期策略,TimeSpan.FromSeconds(10)表示緩存連續10秒沒有訪問就過期。

 

  在這裡,我們都使用了Insert()方法來添加緩存。其實,Cache還有一個Add()方法也能向緩存中添加項。不同之處在於Add()方法只能添加緩存中沒有的項,如果添加緩存中已有的項將失敗(但不會拋出異常),而Insert()方法能覆蓋原來的項。

  注意:和Application不同,這裡不需要使用在插入ASP.Net緩存的時候進行鎖操作,Cache會自己處理並發。
http://www.cnblogs.com/kingfly/archive/2009/12/22/1629906.Html

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved