成倍提高服务器的负载能力:浅谈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前置缓存技术,要高度重视这个技术,善于使用这个技术,但不能滥用这个技术。
很多网页,网页内容大多数不需要适时与后端数据内容同步,比如网站首页,频道首页、列表页、内容页等,这些网页,使用Jexus ASP.NET前置缓存是完全可行的,但是,由于这些网页上有可能具备及时数据或个体会话数据,比如:网站访问量、用户登录信息等,如果不能解决这个问题,前置高速缓存的使用面可能会受到严重的制约。 那么,怎么解决这种大范围可缓存,局部内容必须具有及时性的问题呢? 解决的办法很简单:通过AJAX之类的客户端技术,把需要反应个体差异或即时变化的数据从服务器取过来,innerHTML到指定的显示位置,及时反映后端数据和个人数据的问题就迎刃而解了!
成倍提高服务器的负载能力:浅谈Jexus的ASP.NET前置缓存技术的更多相关文章
- [转]浅谈电路设计中应用DDR3处理缓存问题
本文转自:浅谈电路设计中应用DDR3处理缓存问题_若海人生的专栏-CSDN博客 DDR系列SDRAM存储芯片的高速率.高集成度和低成本使其理所当然成为存储芯片中的一霸.在PC和消费电子领域自是如此,它 ...
- 【ASP.NET MVC系列】浅谈jqGrid 在ASP.NET MVC中增删改查
ASP.NET MVC系列文章 [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作 ...
- ASP.NE的缓存技术提高Web站点的性能
一:我们为什么要使用缓存? 先来理解一下asp.net缓存技术的基本原理:把访问频繁的数据以及需要花大量的时间来加载的数据缓存在内存中,那么用户在下次请求同样的数据时,直接将内存中的数据返回给用户,从 ...
- 浅谈IIS 和 asp.net的应用之间的关系
IIS可以理解为一个web服务器. 用于提供web相关的各种服务. IIS6.0中添加了一个新的功能, application pool. application pool的作用是将运行在同一个ser ...
- 软件安全测试新武器 ——浅谈基于Dynamic Taint Propagation的测试技术
软件安全测试是保证软件能够安全使用的最主要的手段,如何进行高效的安全测试成为业界关注的话题.多年的安全测试经验告诉我们,做好软件安全测试的必要条件是:一是充分了解软件安全漏洞,二是拥有高效的软件安全测 ...
- 浅谈TSM概念、系统架构及技术发展
NFC作为一种近距离的无线通信技术,提供了一种更直接.更安全的现场交互解决方案.它能够允许电子设备之间进行非接触式点对点数据传输,实现数据交换.访问内容与服务.有了它,手机不再只是打电话.发短信以及上 ...
- 优化Linux下的内核TCP参数来提高服务器负载能力
http://blog.renhao.org/2010/07/setup-linux-kernel-tcp-settings/ /proc/sys/net目录 所有的TCP/IP参数都位于/proc/ ...
- 【ASP.NET MVC系列】浅谈ASP.NET 页面之间传值的几种方式
ASP.NET MVC系列文章 [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作 ...
- 【ASP.NET MVC系列】浅谈表单和HTML辅助方法
[01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作篇)(下) [04]浅谈ASP. ...
随机推荐
- git 回退到某个特定提交
1.先用git log commit aba290c570d3894f4f39a1fdf52aa512c0231525 Author: huzhengbo <@qq.com> Date: ...
- python decimal和fractions模块
1.简介 默认,浮点数学缺乏精确性 decimal 模块提供了一个 Decimal 数据类型用于浮点数计算.相比内置的二进制浮点数实现 float这个类型有助于金融应用和其它需要精确十进制表达的场合, ...
- Gym 101201G Maximum Islands (最大独立集)
题意:给定一个图,L代表陆地,W代表水,C表示不确定,问你最多有多少岛. 析:首先给定的L周围必须是是W,只有这样才是最优的,因为如果是L,那么还得有另外的W来包围,不是最优的,那么剩下的就剩下C了, ...
- C#学习(2):委托
1.疑问: 1.委托是什么? 2.为什么需要委托? 3.委托能用来做什么? 4.如何自定义委托? 5..NET默认的委托类型有哪几种? 6.怎样使用委托? 7.多播委托是什么? 8什么是泛型委托? 9 ...
- Solr(一) 安装部署环境
Solr运行环境 第一步:安装java jdk 第二步:安装tomcat服务器 安装过程:参考http://jingyan.baidu.com/article/870c6fc33e62bcb03fe4 ...
- Rx.net 例子——(1)基础
1.订阅序列 using System; using System.Collections.Generic; using System.Linq; using System.Text; using S ...
- Python 日常学习
习惯了java的思想.用java的思想来获取python元组中的数据.结果出错了. yuanzu_s = ("one", "two", "three& ...
- iOS 错误 undefined symbols for architecture i386
undefined symbols for architecture i386 这个错误困扰了我几个小时. 网上很多问这个问题的,回答基本上都是说在 target 里面去的 armv64 什么什么的. ...
- 列表和range、元组
1.listt.append()默认追加在后面 2.list.insert(索引,“元素”)按索引添加 3.list.extend()可添加多个字或字母的字符串,也可以是列表 4.list.pop() ...
- mysql主从报错截图
1.首先确认报错的binlog和last event. 2.然后去主的机器上查看该报错的内容和报错的的位置,如果是结尾报错的,可以直接从新的binlog进行同步. #/mysql/logs# ../b ...