漫漫技术人生路

C#

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

ASP.NET 2.0(C#)中System.Web.Caching的应用

1、向应用程序的添加缓存

public void Insert (
string key,
Object value,
CacheDependency dependencies,
DateTime absoluteExpiration,
TimeSpan slidingExpiration
)

参数

key

用于引用该对象的缓存键。

value

要插入缓存中的对象。

dependencies

所插入对象的文件依赖项或缓存键依赖项。当任何依赖项更改时,该对象即无效,并从缓存中移除。如果没有依赖项,
则此参数包含 空引用(在 Visual Basic 中为 Nothing)。

absoluteExpiration

所插入对象将过期并被从缓存中移除的时间。如果使用绝对过期,则 slidingExpiration 参数必须为 NoSlidingExpiration

slidingExpiration

最后一次访问所插入对象时与该对象过期时之间的时间间隔。如果该值等效于 20 分钟,则对象在最后一次被访问 20 分钟
之后将过期并被从缓存中移除。如果使用可调过期,则 absoluteExpiration 参数必须为 NoAbsoluteExpiration

ds = db.ExecuteDataSet(dbCommand);//插入缓存中的bject
     Cache cache = System.Web.HttpContext.Current.Cache;
     object oProvider = cache.Get(cachekey);
     //向应用程序的缓存中插入具有绝对过期的项
     cache.Insert(cachekey, ds, null, DateTime.Now.AddMinutes(30),TimeSpan.Zero);
     cache.Insert(cachekey, ds, null, DateTime.Now.AddMinutes(30),Cache.NoSlidingExpiration);

     //向缓存中插入具有可调整过期的项
     cache.Insert(cachekey, ds, null, DateTime.MaxValue, TimeSpan.FromMinutes(30));
     cache.Insert(cachekey, ds, null, Cache.NoAbsoluteExpiration, TimeSpan.FromMinutes(30));
 
public Object Add (
string key,
Object value,
CacheDependency dependencies,
DateTime absoluteExpiration,
TimeSpan slidingExpiration,
CacheItemPriority priority,
CacheItemRemovedCallback onRemoveCallback

参数

key

用于引用该项的缓存键。

value

要添加到缓存的项。

dependencies

该项的文件依赖项或缓存键依赖项。当任何依赖项更改时,该对象即无效,并从缓存中移除。如果没有依赖项,则此参数包含
空引用(在 Visual Basic 中为 Nothing)。

absoluteExpiration

所添加对象将过期并被从缓存中移除的时间。如果使用可调过期,则 absoluteExpiration 参数必须为 NoAbsoluteExpiration

slidingExpiration

最后一次访问所添加对象时与该对象过期时之间的时间间隔。如果该值等效于 20 分钟,则对象在最后一次被访问 20 分钟之后
将过期并从缓存中移除。如果使用绝对过期,则 slidingExpiration 参数必须为 NoSlidingExpiration

priority

对象的相对成本,由 CacheItemPriority 枚举表示。缓存在退出对象时使用该值;具有较低成本的对象在具有较高成本的对象之前
被从缓存移除。

onRemoveCallback

在从缓存中移除对象时所调用的委托(如果提供)。当从缓存中删除应用程序的对象时,可使用它来通知应用程序。

 

 

     public void AddItemToCache(Object sender, EventArgs e) {
itemRemoved = false;
onRemove = new CacheItemRemovedCallback(this.RemovedCallback);
if (Cache["Key1"] == null)
Cache.Add("Key1", "Value 1", null, DateTime.Now.AddSeconds(60), TimeSpan.Zero, CacheItemPriority.High, onRemove);
}

2.清除缓存

    Cache.Remove(cacheKey);
posted on 2006-09-26 16:17  javaca88  阅读(1589)  评论(1编辑  收藏  举报