分享
 
 
 

使用JCS在Web门户应用中实现对象缓存(2)

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

缓存架构

有很多种对象缓存架构(包括开放源代码的和商业的实现)在servlet容器和应用服务器中提供了分布式缓存。下面列出了一些现在可以使用的缓存框架:

开放源代码项目

来自于Jakarta的Java Caching System (JCS) (属于Turbine项目的一部分)

OSCache

Commons Collections (另一个Jakarta 项目)

JCache API (SourceForge.net)

商业项目

SpiritCache (来自于 SpiritSoft).

Coherence (Tangosol)

Javlin (eXcelon)

Object Caching Service for Java (Oracle)

如果你还有兴趣了解更多的缓存实现,本文最后的资源一节提供了所有这些框架的URL。

我在最初开始我对能满足我们所有的缓存需求的框架进行研究的时候,我先看到了Commons Collections 和 Java Caching System API 。我在最开始评估的主要标准就是容易使用、容易扩展,以及软件的成本。这两个框架都是开放源代码的,并且都来自于Apache Jakarta项目。

Commons Collections

Commons Collections API 以一个Java类的形式提供了对象缓存算法,名称为LRUMap。如果你对缓存只有基本的需求,并且不是真正需要很多的扩展和缓存配置功能,那么Commons Collections 可能是一个不坏的选择,但不是作为一个企业级缓存系统的正确选择。如果你选择Common Collections来实现对象缓存,你将会手工定义/配置所有的缓存参数,如:最大缓存对象的数量,一个缓存对象的最长生命周期,刷新缓存或检查对象新鲜的中断时间等。

Java Caching System

Java Caching System (JCS), Jakarta Turbine 项目的一部分, 与Commons Collections相比更有成熟、更具扩展性。通过为频繁访问的对象维护动态对象池的方法,它提供了提升整个系统性能的灵活、可配置的解决方案。就像在它的网站上提到的,JCS 已经超越了简单地在内存中缓存对象的范围。它为一个企业级的缓存系统提供了许多必需的重要功能:

内存管理

Disk overflow (和重整)

元素分组

快速嵌套地移除

数据期限管理

可扩展的框架

完全可配置的运行时参数

远程同步

远程存储恢复

通过HTTP、TCP或者UDP协议实现可选的横向分布元素。

JCS 提供了无故障点的框架, 允许完全的session失败转移(在集群环境中),包括支持最多到256个服务器的session数据分布。它也提供了配置一个或多个数据存储选项的灵活性,例如:内存缓存、磁盘缓存,或者在远程机器上的缓存。

所有这些包括在JCS中的优秀功能让它成为满足我们的web门户项目的一个优秀的对象缓存产品选择

使用JCS构造Web 门户缓存框架

缓存框架的目标

在我开始设计对象缓存框架之前,我首先列出了在新的框架中需要达到的目标。以下就是目标的列表:

在web门户应用中快速访问频繁使用的数据。

将缓存中类型类似的对象进行组合。

提供可配置的缓存管理,以便我可以通过描述方式而不是编码方式修改参数。

提供可靠的和可扩展的框架,以便我将来可以转换到其它第三方的缓存API。

可以生成统计数据来监测缓存的效率,以及使用数据缓存后应用性能的提升效果。

安装和配置

在web应用中安装和配置JCS是非常简单的事情。从Jakarta Turbine网站下载压缩文件,解压缩文件到临时目录,并拷贝JSC.jar文件(jcs-1.0-dev.jar)到servlet容器的通用目录(在我的web应用中使用的servlet容器是Tomcat,通用目录在windows下就是%TOMCAT_HOME%\common\lib,在再Unix类型的系统下就是$TOMCAT_HOME/common/lib)。你可能还需要commons-collections.jar, commons-lang.jar, 和 commons-logging.jar 这些文件存在于web应用的类路径下以便使用JCS。

对象缓存框架的主要原理在图1和图2的UML图中展示出来了

[url=http://www.onjava.com/onjava/2003/12/23/graphics/SequenceDiagramsm.gif]

图 1. 对象缓存序列图

[url=http://www.onjava.com/onjava/2003/12/23/graphics/ClassDiagramsm.gif]

图 2. 对象缓存类图

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有