a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 152|回复: 1

[其他] JAVA技巧:怎样应用OSCache提升J2EE系统运行性能

[复制链接]
发表于 2012-8-4 12:28:23 | 显示全部楼层 |阅读模式
Cache是一种用于提高系统响应速度、改善系统运行机能的手艺。尤其是在Web应用中,经由过程缓存页面的输出结不美观,可以很光鲜较着的改善系统运行机能。本文中作者给巨匠介绍一个实现J2EE框架中Web应用层缓存功能的开放源代码项目----OSCache。经由过程应用OSCache,我们不单可以实现凡是的Cache功能,还能够改善系统的不变性。 1 需要措置的非凡动态内容 # V8 @  |& i$ i& \9 E' w$ M
  在信息系统培植过程中我们凡是会碰着这样的问题:
0 v: E) l( p! E6 V# s! b6 p9 d1. 基本数据的变换问题 . _( v( Q% S: F7 ?
  信息系统中需要措置的基本数据的内容短时刻内是不会发生转变的,可是在一个相对长一些的时刻里,它却可能是动态增添或者削减的。
! u7 b: a% U' F  举个例子:电子商务中关于送货区域的界说,可能短时刻内不会发生转变,可是跟着电子商务企业营业的扩年夜,系统中需要措置的送货区域就可能增添。所以我们的系统中不得不在每次向客户展示送货区域信息的时辰都和数据库(假设送货区域信息保留在数据库中,这也是凡是采用的措置体例)进行交互。' T5 H. f% `: |1 P
2. 统计报表(不仅限于统计报表)的问题 % {: M: u& U" E% j( P
  一般来说,统计报表是一个周期性的工作,可能是半个月、一个月或者更长的时刻才会需要更新一次,然而统计报表凡是是图形显示或者是生成pdf、word、excel等名目的文件,这些图形内容、文件的生成凡是需要耗损良多的系统资本,给系统运行造成很年夜的承担。" R; O& f! J  r  p
1.2 问题的配合点
+ q9 q2 T4 \% P% d4 P" u, G; {  经由过程斗劲剖析,不难发现这两类问题有一些配合点:
, O( `3 H( r9 i0 u  1、被措置的内容短时刻不变,所以短时刻内可以作为静态内容进行措置. P# B6 h9 V4 p' Q0 b% Z
  2、在一个不太长的时刻内,被措置的内容可能或者必定发生转变,所以必需将他们作为动态内容进行措置
" M% L! v2 d+ W  y) ]! N  3、在合理的时刻区段内可以忽略被措置内容转变后带来的影响
) w. f: ]4 B3 p  z. n, u) f" @. C8 v
  4、对这些内容的措置动作斗劲耗损系统机能,影响系统响应时刻
回复

使用道具 举报

 楼主| 发表于 2012-8-4 12:28:24 | 显示全部楼层

JAVA技巧:怎样应用OSCache提升J2EE系统运行性能

</p>1.3 解决体例 + w% s- k4 R3 i" n
  缓存手艺可以辅佐我们很好的解决这个问题:
3 Z, |! \$ g2 f' Y% U0 N- Z  1、缓存信息
; D  y: y6 z0 i1 L5 |3 w  当上述的基本数据或者统计报表第一次被访谒时,被措置的内容被算作动态信息,基本数库年夜数据库中获得,统计报表也会被生成合适要求的图形、文件,然后这些信息城市被放入缓存信息中。+ ]) E0 A* ]  z0 R' l  W
  2、响应信息由缓存供给
# m% X+ D( g7 T6 C8 X1 g! w0 s: U  当上述的基本数据或者统计报表继续被访谒时,系统将会首先搜检缓存信息中是否有对应的内容和我们设定的缓存轨则,如不美观合适缓存信息存在而且合适缓存轨则,给出的响应未来自于缓存信息,如不美观没有或者缓存信息已经不合适设定的要求,系统将一再上一步的动作。3 j7 S) {- _: D- g. E+ ~5 L- G# D
  很显然,膳缦沔的轨范2中,年夜都情形下,当用户请求达到时,被措置的内容未来自于缓存,所以年夜年夜的削减了与数据库的交互,或者不再需要为每个请求都生成一次报表图形或者文件,这部门工作的削减对于降低系统机能耗损、提高系统不变性和并发措置能力长短常有益的。
/ c6 i$ `# T/ P+ s7 F5 e( t$ \2 OSCache简介 ; k. `. s" `# q8 m8 Z1 F) Q
  OSCache是OpenSymphony组织供给的一个J2EE架构中Web应用层的缓存手艺实现组件,它的呈现解决了我们面临的问题。 OSCache今朝最新的不变版本是2.0,本文中的例子都是基于这个版本的,如不美观巨匠运行例子的过程中发生问题,请首先确认是否采用了正确的软件版本。
* S2 g; f8 z7 k  2.1 首要特征
8 n: D# ^- o7 W: v/ h( S  1. 兼容多种撑持JSP的web处事器! x4 i/ \. f& v) `
  已经经由过程兼容测试的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的。
3 q6 r* }) V6 i4 Y$ t% V  2. 可选的缓存区
7 s% a) l; J. y( B  你可以使用内存、硬盘空间、同时使用内存和硬盘或者供给自己的其他资本(需要自己供给适配器)作为缓存区。$ K2 i2 F  b& v) g2 v4 [3 q
  使用内存作为缓存区将可以供给更好的机能 使用硬盘作为缓存区可以在处事重视起后迅速恢复缓存内容 同时使用内存和硬盘作为缓存区则可以削减对内存的占用
/ g& F" h, [7 `! r& E  3. 矫捷的缓存系统; U" d$ @, g: S' D8 X! X
  OSCache撑持对部门页面内容或者对页面级的响应内容进行缓存,编程者可以按照分歧的需求、分歧的情形选择分歧的缓存级别。" J) _8 m3 ?% [( S1 u0 U2 J% P; m
  4. 容错0 c5 o' w9 L& o- b) V7 S9 k- O
  在一般的web应用中,如不美观某个页面需要和数据库打交道,而当客户请求达到时,web应用和数据库之间无法进行交互,那么将返回给用户"系统犯错"或者近似的提醒信息,如不美观使用了OSCache的话,你可以使用缓存供给给用户,给自己博得维护系统或者采纳其他解救的时刻。
8 j7 F: C6 `+ O1 C$ {/ U& K. [1 ?# Y  其它特征还搜罗对集群的撑持、缓存自动刷新等特征,巨匠可以参考OpenSymphony网站上的其他资本获取更多的信息。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-6-9 08:51 , Processed in 0.390662 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表