在普通ASPx.cs代碼裡可以用:
Cache cache = new Cache();
但在XXXX.CS裡,就不能用上面的方式了,得用:
永不時間過期
HttpContext.Current.Cache.Insert("Name", "王翔", null, DateTime.MaxValue, TimeSpan.Zero, CacheItemPriority.NotRemovable, null);
Name:Key
王翔:Value
null:表示沒有緩存依賴項
DateTime.MaxValue:時間的最大值(9999-99-99 12:59:59),表示不使用絕對時間過期策略
TimeSpan.Zero:表示不使用平滑過期
CacheItemPrority.NotRemovable:表示優先權為不刪除該Cache
null:不怎麼用,就null吧
ASP.Net
絕對時間過期 (10秒後,自動過期)
HttpContext.Current.Cache.Insert("Name", "王翔", null, DateTime.Now.AddSeconds(10), TimeSpan.Zero, CacheItemPriority.NotRemovable, null);
平滑時間過期 (連續10秒沒有訪問該緩存,則自動過期)
HttpContext.Current.Cache.Insert("Name", "王翔", null, DateTime.MaxValue, TimeSpan.FromSeconds(10));
緩存的更新策略
if (HttpContext.Current.Cache["UserCacheList"] != null)
{
ht = (Hashtable)HttpContext.Current.Cache["UserCacheList"];
ht.Add(uId, HttpContext.Current.Cache["User" + uId]);
}
else
{
ht.Add(uId, HttpContext.Current.Cache["User" + uId]);
//HttpContext.Current.Cache["UserCacheList"] = ht;
HttpContext.Current.Cache.Insert("UserCacheList", ht, null, DateTime.MaxValue, TimeSpan.Zero, CacheItemPriority.NotRemovable, null);
}
http://www.cnblogs.com/kingfly/archive/2010/02/26/1674318.Html