使用Cache,存储变量
使用Cache,不但可以缓存网页,提高浏览速度,还可以缓存任何对象和数据,像Application那样。
Session可以存储对象,但是必须使用Session,但是对于Sesion,并不是任何情况下都是需要的;
Application可以存储对象,但是生存周期太长,从而决定了不可以存储对象太多;
所以有了Cache,它可以不涉及使用Session,又有自己的生存周期,可以比起Application来,相对大量的使用。
通过使用权限和生存周期,可以控制Cache的有效使用。
权限高的Cache对象,比权限低的对象,会被Cache清理机制更加晚的被清理,
同样,生存周期长的Cache对象,比生存周期短的,会晚一些被清理。
可以这样使用Cache存储对象:
Cache("name")="pierce";
但是这样无法使用Cache的高级功能,如生存周期,权限和对立性。
可以使用Cache.Add()或者Cache.Insert() 获取高级功能的使用。
Cache.Insert("name","pierce",null,DateTime.Now.AddMinutes(30),TimeSpan.Zero);
在Cache中存储对象时使用独立的规则:
Cache.Insert("name","pierce",new CacheDependency(Server.Map("/file.txt")),
DateTime.Now.AddMinutes(30),TimeSpan.Zero);
Cache中的name对象,有了一个独立的文件file.txt与之对应,如果file.txt更新或者移动,那么name对象就会失效。
Cache对象的生存周期,分2种,绝对生存周期absoluteExpiration和动态生存周期slidingExpiration。
absoluteExpiration:Cache对象的生存周期为定义的时间,从定义到结束,时间既是所定义的时间:
Cache.Insert("name","pierce",null,DateTime.Now.AddMinutes(15),TimeSpan.Zero);
name对象的生存周期为15分钟。
slidingExpiration:Cache对象的生存时间为最后一次使用的时间+定义的时间:
Cache.Insert("name","pierce",null,System.Web.Caching.Cache.NoAbsoluteExpiration,TimeSpan.FromMinutes(15));
设置权限:
Cache.Insert("name","pierce",null,System.Web.Caching.Cache.NotAbsoluteExpiration,,TimeSpan.FromMinutes(15),
CacheItemPriority.Hith,CacheItemPriorityDecay.Never,null);
cache的一点点说明
最新推荐文章于 2024-08-15 14:53:51 发布