网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.用java 实现 http 的断点续传.
.Java 虚拟机结构基础研究之二.
.用JavaMail API编写可带附件的邮.
.【转载】国内不谈java--硅谷有.
.Java Transaction API概述(1).
.Function 对象.
.用JBuilder2005开发spring MVC应.
.JavaMail邮件主题乱码的解决方法.
.EJB最佳实践:构建更好的异常处理.
.Struts行为测试框架StrutsTestCa.
.Java内存溢出导致服务器死机之应.
.判断鼠标双击.
.WEB开发技术比较报告.
.使用JSR-184里的Sprite3D对象.
.调整JavaTM 的I/O性能(一)(zt).
.eclipse-SDK-3.1M4-win32.
.Java高手谈论Hibernate的发展之路.
.使用J2SE API读取Properties文件.
.Java入门:代码的坏味道.
.Java Web Start 技术.

用OSCache提升J2EE系统运行性能

发表日期:2008-1-5



文章摘要

   Cache是一种用于提高系统响应速度、改善系统运行性能的技术。尤其是在Web应用中,通过缓存页面的输出结果,可以很显著的改善系统运行性能。本文中作者给大家介绍一个实现J2EE框架中Web应用层缓存功能的开放源代码项目----OSCache。通过应用OSCache,我们不但可以实现通常的Cache功能,还能够改善系统的稳定性。

1 面临的问题


1.1 需要处理的非凡动态内容


在信息系统建设过程中我们通常会碰到这样的问题:

1. 基础数据的变更问题

   信息系统中需要处理的基础数据的内容短时间内是不会发生变化的,但是在一个相对长一些的时间里,它却可能是动态增加或者减少的。

   举个例子:电子商务中关于送货区域的定义,可能短时间内不会发生变化,但是随着电子商务企业业务的扩大,系统中需要处理的送货区域就可能增加。所以我们的系统中不得不在每次向客户展示送货区域信息的时候都和数据库(假设送货区域信息保存在数据库中,这也是通常采用的处理方法)进行交互。

2. 统计报表(不仅限于统计报表)的问题

    一般来说,统计报表是一个周期性的工作,可能是半个月、一个月或者更长的时间才会需要更新一次,然而统计报表通常是图形显示或者是生成pdf、Word、Excel等格式的文件,这些图形内容、文件的生成通常需要消耗很多的系统资源,给系统运行造成很大的负担。

1.2 问题的共同点


通过比较分析,不难发现这两类问题有一些共同点:

1、被处理的内容短时间不变,所以短时间内可以作为静态内容进行处理

2、在一个不太长的时间内,被处理的内容可能或者必定产生变化,所以必须将他们作为动态内容进行处理

3、在合理的时间区段内可以忽略被处理内容变化后带来的影响

4、对这些内容的处理动作比较消耗系统性能,影响系统响应时间

1.3 解决方法


缓存技术可以帮助我们很好的解决这个问题:

1、缓存信息

   当上述的基础数据或者统计报表第一次被访问时,被处理的内容被当作动态信息,基础数库从数据库中获得,统计报表也会被生成符合要求的图形、文件,然后这些信息都会被放入缓存信息中。

2、响应信息由缓存提供

   当上述的基础数据或者统计报表继续被访问时,系统将会首先检查缓存信息中是否有对应的内容和我们设定的缓存规则,假如符合缓存信息存在而且符合缓存规则,给出的响应将来自于缓存信息,假如没有或者缓存信息已经不符合设定的要求,系统将重复上一步的动作。

   很显然,上面的步骤2中,多数情况下,当用户请求到达时,被处理的内容将来自于缓存,所以大大的减少了与数据库的交互,或者不再需要为每个请求都生成一次报表图形或者文件,这部分工作的减少对于降低系统性能消耗、提高系统稳定性和并发处理能力是非常有益的。

2 OSCache简介


   OSCache是OpenSymphony组织提供的一个J2EE架构中Web应用层的缓存技术实现组件,它的出现解决了我们面临的问题。 OSCache目前最新的稳定版本是2.0,本文中的例子都是基于这个版本的,假如大家运行例子的过程中发生问题,请首先确认是否采用了正确的软件版本。

2.1 主要特征


1. 兼容多种支持jsp的web服务器

    已经通过兼容测试的web服务器包括OrionServer (1.4.0或者以上版本) 、Macromedia JRun (3.0或者以上版本) 、BEA Weblogic (7.x或者以上版本) 、IBM Websphere (5.0版本)、Silverstream (3.7.4版本)、CaUCho Resin (1.2.3或者以上版本)、Tomcat (4.0或者以上版本) ,其他支持servlet2.3、jsp1.2的web服务器应该都是完全兼容OSCache的。

2. 可选的缓存区

    你可以使用内存、硬盘空间、同时使用内存和硬盘或者提供自己的其他资源(需要自己提供适配器)作为缓存区。

  • 使用内存作为缓存区将可以提供更好的性能
  • 使用硬盘作为缓存区可以在服务器重起后迅速恢复缓存内容
  • 同时使用内存和硬盘作为缓存区则可以减少对内存的占用

3. 灵活的缓存系统

   OSCache支持对部分页面内容或者对页面级的响应内容进行缓存,编程者可以根据不同的需求、不同的环境选择不同的缓存级别。

4. 容错

   在一般的web应用中,假如某个页面需要和数据库打交道,而当客户请求到达时,web应用和数据库之间无法进行交互,那么将返回给用户"系统出错"或者类似的提示信息,假如使用了OSCache的话,你可以使用缓存提供给用户,给自己赢得维护系统或者采取其他补救的时间。


上一篇:设置Java的安全策略 人气:1028
下一篇:乱码问题之终极解决 人气:1196
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐