日期:2014-05-17  浏览次数:20407 次

CACHE的有效时间
1、cache["a"]=1; 这个有效期是多久?

2、用cache.insert方法指定绝对或弹性过期时间,这个时间可靠吗?
在指定时间内cache一定存在?(排除重新编译程序等因素)

3、更新web.config会使cache失效吗?

------解决方案--------------------
1.Cache["key"] = "value";
这种做法将在缓存中存储项,同时不带任何依赖项,因此它不会到期,除非缓存引擎为了给其他缓存数据提供空间而将其删除。要包括特定的缓存依赖项,可使用 Add() 或 Insert() 方法。其中每个方法都有几个重载。Add() 和 Insert() 之间的唯一区别是,Add() 返回对已缓存对象的引用,而 Insert() 没有返回值

2.参考1

3.不会。
------解决方案--------------------
cache默认是存储在内存中的,不设置过期时间,如果内存足够,则一直不过期,
任何导致存储过大或者应用程序重启的东西都会导致cache丢失,更新web.config也会导致重启

好在asp.net4之后提供自定义的存储实现方法,可以不受内存影响了