网站首页 > 网络编程教程 > ASP.NET教程 > ASP.NET的Cache缓存应用

ASP.NET的Cache缓存应用

  • 作者:互联网
  • 时间:2010-04-25 10:48:54

我们在页面上添加三个按钮并双击按钮创建事件处理方法,三个按钮使用不同的过期策略添加ASP.NET缓存。

OnClick="btn_InsertNoExpirationCache_Click" /> 

 
 

 

 

三个按钮的Click事件处理方法如下:

protected void btn_InsertNoExpirationCache_Click(object sender, EventArgs e)   
{   
    DataSet ds = GetData();   
    Ca***.Insert("Data", ds);   
}   
protected void btn_InsertAbsoluteExpirationCache_Click(object sender, EventArgs e)   
{   
    DataSet ds = GetData();   
    Ca***.Insert("Data", ds,null, Da***ime.Now.AddSeconds(10), Ti***pan.Zero);   
}   
protected void btn_InsertSlidingExpirationCache_Click(object sender, EventArgs e)   
{   
    DataSet ds = GetData();   
    Ca***.Insert("Data", ds, null, Da***ime.MaxValue, Ti***pan.FromSeconds(10));   
}

  我们来分析一下这三种ASP.NET缓存过期策略。

  ◆永不过期。直接赋值缓存的Key和Value即可

  ◆绝对时间过期。Da***ime.Now.AddSeconds(10)表示缓存在10秒后过期,Ti***pan.Zero表示不使用平滑过期策略。

  ◆变化时间过期(平滑过期)。Da***ime.MaxValue表示不使用绝对时间过期策略,Ti***pan.FromSeconds(10)表示缓存连续10秒没有访问就过期。

 

  在这里,我们都使用了Insert()方法来添加缓存。其实,Cache还有一个Add()方法也能向缓存中添加项。不同之处在于Add()方法只能添加缓存中没有的项,如果添加缓存中已有的项将失败(但不会抛出异常),而Insert()方法能覆盖原来的项。

  注意:和Application不同,这里不需要使用在插入ASP.NET缓存的时候进行锁操作,Cache会自己处理并发。