成倍提高服务器的负载能力:浅谈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. ...
随机推荐
- 年末福利,C/S应用升级更新完整解决方案放送
程序员,工作累寿命短,大家应该学会分享,别浪费有限的生命与健康做重复的事情. C/S方式实现的应用有个升级更新功能是必需的,以前整过一个但是没考虑多套C/S应用的情况,那个时候公司只有一套系统,现在又 ...
- sqlserver2012 清除日志
1. backup log wwgl_demo to disk='D:\DATA_BACKUP\2017-07-19.log' 2. 右键数据库-->任务-->收缩-->文件 ...
- linux每天一小步---mv命令详解
1 命令功能 mv命令用来移动文件及目录或者重命名文件及目录,它是move的缩写,cp命令与mv命令在很多功能上都非常相似,但是又具有很大的区别,其中组大的区别在于cp命令的使用会保留源文件和目录,而 ...
- Android-应用安装/替换/卸载/广播监听
在上一篇博客Android-开关机的广播,中介绍了,如何订阅接收者,去接收系统发送的开机/关机广播, 而这篇博客是订阅接收者 去接收应用的(安装/替换/卸载) 三种广播 订阅 接收者 去接收 应用的 ...
- EAS.Net 在程序里配置组件
public class BeforStart { /// <summary> /// 程序配置初始化 /// </summary> public static void EA ...
- mysql5.7 column cannot be null
背景 独立测试环境安装了数据库,但安装的版本是mysql 5.7的版本,而研发用的是mysql5.6的版本,在执行某个数据库操作的提示,提示column “xxxx”cannot be null 问题 ...
- 使用dockerfile文件创建镜像时docker build没有反应
问题: 先 docker pull centos:7 拉取了一个官方的基础镜像,为后续创建jdk8镜像做准备,在创建如下的dockerfile文件 执行docker build -t jdk_8u19 ...
- VUE 学习笔记 二 生命周期
1.除了数据属性,Vue 实例还暴露了一些有用的实例属性与方法.它们都有前缀 $,以便与用户定义的属性区分开来 var data = { a: 1 } var vm = new Vue({ el: ' ...
- html中常用的标签元素
<html></html> 创建一个HTML文档<head></head> 设置文档标题和其它在网页中不显示的信息<title></t ...
- C# 4种方法计算斐波那契数列 Fibonacci
F1: 迭代法 最慢,复杂度最高 F2: 直接法 F3: 矩阵法 参考<算法之道(The Way of Algorithm)>第38页-魔鬼序列:斐波那契序列 F4: 通项公式法 由于公式 ...