成倍提高服务器的负载能力:浅谈Jexus的ASP.NET前置缓存技术

 一、什么是“ASP.NET前置缓存”     ASP.NET前置缓存,是Jexus特色功能之一,是指Jexus把开发者指定的ASP.NET网页某一时刻的内容,缓存到专用的高速缓冲区中,在指定的时间内,所有对这个网页的访问,Jexus都优先使用这个缓存内容回应,不再驱动ASP.NET引擎对这个网页进行反复解析。

    二、“ASP.NET前置缓存”有什么优点     ASP.NET前置缓存最明显的优点就是它大大提升了特定ASP.NET网页的响应速度,减轻ASP.NET运行时的工作压力,进而大幅度提高服务器的承载能力,对于并发访问量很大的网站而言,这个功能具有重要实用价值。

    三、使用方法     在需要前端缓存的ASPX网页的开始部分,加上下面一句,就完成了这个网页的前置缓存设定:     <%Response.AddHeader("PageCache-Time","60");%>     代码含义:ASP.NET前置缓存的指令是通过Resonse.AddHeader向Jexus发出的。AddHeader有两个参数,这里,第一个参数必须是“PageCache-Time”,目的是告诉Jexus,这是一条高速缓存指令,第二个参数是缓存的时间,单位是秒,这里的“60”即是指缓存60秒的意思。

    四、使用要点     ASP.NET前端缓存技术的优点在性能方面,本质上是以最简单的方式在指定的时间段内把“动态网页静态化”,并将静态化后的内容置入专用的高速缓冲区中,这样,由于高速缓存和优先响应等原因,被缓存的网页变得甚至比静态网页还快,与没作缓存的原始ASPX比,速度可以快数倍甚至十数倍。但是,前端缓存技术也有一个弱点,这就是,在缓存期中,被缓存的网页无法立即反映后端数据的变化,也无法根据不同的用户产生不同的响应数据。     正因为这样,我们要辩证地看待ASP.NET前置缓存技术,要高度重视这个技术,善于使用这个技术,但不能滥用这个技术。

作者:yunei   发布时间:13年06月18日   可选操作:删除 回复

[1楼] 如何避免ASP.NET前置缓存的不足之处

    很多网页,网页内容大多数不需要适时与后端数据内容同步,比如网站首页,频道首页、列表页、内容页等,这些网页,使用Jexus ASP.NET前置缓存是完全可行的,但是,由于这些网页上有可能具备及时数据或个体会话数据,比如:网站访问量、用户登录信息等,如果不能解决这个问题,前置高速缓存的使用面可能会受到严重的制约。     那么,怎么解决这种大范围可缓存,局部内容必须具有及时性的问题呢?     解决的办法很简单:通过AJAX之类的客户端技术,把需要反应个体差异或即时变化的数据从服务器取过来,innerHTML到指定的显示位置,及时反映后端数据和个人数据的问题就迎刃而解了!

posted @ 2013-07-28 00:08  李楊  阅读(502)  评论(0编辑  收藏  举报