WEB开发网
开发学院WEB开发ASP.NET Cache在aspx.cs和xxx.CS里的不同用法 阅读

Cache在aspx.cs和xxx.CS里的不同用法

 2010-04-25 17:43:37 来源:WEB开发网   
核心提示:在普通aspx.cs代码里可以用:Cache cache = new Cache();但在XXXX.CS里,就不能用上面的方式了,Cache在aspx.cs和xxx.CS里的不同用法,得用:永不时间过期HttpContext.Current.Cache.Insert("Name", "王翔

在普通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

Tags:Cache aspx cs

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接