高速缓存使用灵活定义状态何时失效有许多方式,不需要给每个请求读取文件和数据库,而是把数据存储在高速缓存中。
名称空间:System.Web.Caching
类:Cache
给高速缓存添加对象过程
Cache.Add("mycache",myobj,null,DateTime.MaxValue,TimeSpan.FromMinutes(10),CacheItemPriority.Normal,null);
Add()方法:
第一个参数:定义高速缓存的名称;
第二个参数:应被高速缓存的对象;
第三个参数:定义了依赖关系,{例如:告诉缓存依赖一个文件,当文件改变时,高速缓存对象就会失效,无依赖关系为(null);}
第四个参数:定义高速缓存失效的绝对时间;
第五个参数:定义高速缓存失效的相对时间;
第六个参数:定义高速缓存的优先级;
最后一个参数:当高速缓存依赖一个文件时就可以使用最后一个参数:当文件改变时,就删除高速缓存项,调用事件处理程序。通过这个事件处理程序,可以再次读取文件,重新加载高速缓存。
在使用从Cache属性返回的对象之前,必须检查结果是否为NULL,当高速缓存失效时,结果就是null;如果从Cache索引符返回的值不是null,就可以对返回的对象进行类型转换,用于存储高速缓存项;
object o=Cache["mycache"];
if(o==null)
{
// Reload the cache
}
else
{
//Use the cache
MyClass myobj=(MyClass)o;
//....
}