Cachev即高速缓存,能够提高系统的性能和运行速度。
Cache是分配在服务器上的一个公共的内存片。Cache只要一创建是任何一个浏览器都可以通过后台代码访问到的。它是面向的是所有用户。每个Cache一经创建就占有了服务器资源,所以并不是cache越多越好。
cache是有时间限制的,超过了服务器设定的时间,就会被服务器收回。
Cache的创建:
通过Cache.Insert(string key,object o)方法创建。key代表cache的ID,o代表存到cache里的对象。
Cache的销毁:
通过Cache.Remove(string key)其中key代表cache的ID。
Cache的调用:
Cache支持装箱/拆箱操作。我们可以把一个DataSet对象ds通过Cache.Insert("dsCache",ds)的方式存到Cache中,可以通过拆箱操作DateSet ds=(DataSet)Cache["dsCache"]来访问它。
什么时候用Cache?
cache一般用于数据较固定,用的较频繁的地方。cache不适合用在数据变动快,使用范围很窄的地方。
Cache调用注意事项
Cache是有时间限制的。超过了服务器设置的事件,就会被服务器收回。收回后相对应的内存块就会被清空,再次通过cache[“cachekey”]访问对象时返回就是null值。所以调用就会出错。
举例:
DataSet ds = (DataSet)Cache[“cacheds”];
DataRow dr = ds.Table[0].Row[0]; //出错,ds为null值,不存在表0。
正确写法:
DataSet ds
If(Cache[“cacheds”] != null)
{
ds = (DataSet)Cache[“cacheds”];
}
Else
{
ds= GetDsFromDataBase();
}
DataRow dr = ds.Table[0].Row[0];