技术开发 频道

初探Asp.net缓存

  则在引用时只需要在页面头部设置如下:

<%@ OutputCache CacheProfile="CacheProfile" %>

  而不是全部写入页面

  DiskCacheable

  因为服务器内存是有限的,所以通过将DiskCacheable属性设置为true,则可以将缓存页面放入硬盘中,这样即使服务器崩溃重启,缓存依然存在.

  缓存部分页面

  缓存页面的一部分实现原理和缓存整个页面毫无二致,都是在页面头部加入OutputCache指令,唯一的不同是缓存部分页面是在用户控件中进行的。这部分就不在多说了。

  使用HttpCachePolicy缓存页面

  前面已经说了通过OutputCache指令在页面头部设置缓存选项,另一种替代方法是使用HttpCachePolicy类,这个类的实例是Response.Cache.如果使用HttpCachePolicy设置缓存,则需要在页面移除OutputCache指令。

  比如:

<%@ OutputCache  Duration="30" VaryByParam="state;city" %>

  和下面代码是等价的:

Response.Cache.SetExpires(DateTime.Now.AddSeconds(30));
      Response.Cache.VaryByParams[
"state"] = true;
      Response.Cache.VaryByParams[
"city"] = true;

  更多关于HttpCachePolicy,请查看MSDN

  对象缓存

  对象缓存是将继承与System.Object的对象缓存在服务器的内存中,通过Page类的Cache属性可以访问到Cache集合。Cache内可以放任何类型的对象,但是要小心使用Cache,因为Cache是占用服务器内存,如果使用不当,也许会拖累性能。

  使用Cache的例子:

//save object into Cache
        Cache[
"table"] = GridView1;

        
//get object from Cache
        GridView gv
= (GridView)Cache["table"];

  要注意的是,再提取缓存中的对象时,一定别忘了强制转换。

  总结

  文中对Asp.net的缓存机制进行了简述,asp.net中的缓存极大的简化了开发人员的使用。如果使用得当,程序性能会有客观的提升。

0
相关文章