成倍提高服务器的负载能力:浅谈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前置缓存技术,要高度重视这个技术,善于使用这个技术,但不能滥用这个技术。