`

JCS简介

 
阅读更多

 

一、概述


JCS是Jakarta的项目Turbine的子项目。它是一个复合式的缓冲工具。可以将对象缓冲到内存、硬盘。具有缓冲对象时间过期设定。还可以通过JCS构建具有缓冲的分布式构架,以实现高性能的应用。
对于一些需要频繁访问而每访问一次都非常消耗资源的对象,可以临时存放在缓冲区中,这样可以提高服务的性能。而JCS正是一个很好的缓冲工具。
缓冲工具对于读操作远远多于写操作的应用性能提高非常显著。

二、JCS的特性


JCS除了简单的将对象缓冲在内存中以外,还具有几个特性,以适应企业级缓冲系统的需要。这些特性包括时间过期、索引式硬盘缓冲、并行式的分布缓冲等。


1、内存缓冲


JCS现在支持两种内存缓冲算法LRU和MRU。通常都是使用LRU算法。
org.apache.stratum.jcs.engine.memory.lru.LRUMemoryCache
使用内存缓冲区需要定义缓冲区大小,当超过缓冲区限制时,会将缓冲内容抛弃掉。如果有配硬盘缓冲,则将挤出来的缓冲内容写入硬盘缓冲区。


2、时间过期


JCS对于缓冲的对象,可以设定缓冲过期时间,一个对象在缓冲区中停留的时间超过这个时间,就会被认为是“不新鲜”而被放弃。
索引式硬盘缓冲

一方面,为了避免缓冲区过大,撑爆虚拟机的内存,
另一方面又希望能够缓冲更多的对象,JCS可以将超出缓冲区大小的对象缓存到硬盘上。配置上也比较方便,只需要指定缓冲临时文件的存放目录位置。硬盘缓冲将缓冲对象的内容写到文件上,但是将访问索引保存在内存中,因此也能够达到尽可能高的访问效率

3、并行式的分布缓冲(Lateral)


通常,将对象缓冲在内存中,一方面提高了应用的性能,而另一方面却使得应用不可以分布式发布。因为假设一个应用配置在两台服务器上并行运行,而两台服务器单独缓冲,则很容易导致两个缓冲区内容出现版本上的不一致而出错。一个机器上修改了数据,这个动作会影响到本地内存缓冲区和数据库服务器,但是却不会通知到另一台服务器,导致另一台上缓冲的数据实际上已经无效了。
并行式的分布缓冲就是解决这个问题。可以通过配置,将几台服务器配成一个缓冲组,组内每台服务器上有数据更新,会横向将更新的内容通过 TCP/IP协议传输到其他服务器的缓冲层,这样就可以保证不会出现上述情况。这个的缺点是如果组内的并行的服务器数量增大后,组内的数据传输量将会迅速上升。这种方案适合并行服务器的数量比较少的情况


4、Client/Server式的缓冲(Remote)


客户/服务端式的缓冲集群。这种方式支持一个主服务器和最高达到256个客户端。客户端的缓冲层会尝试连接主服务器,如果连接成功,就会在主服务器上注册。

分享到:
评论

相关推荐

    JCS简介及文档

    JCS缓存入门及简介

    JCS-018立时加工中心主轴箱设计doc.doc

    #### 一、加工中心简介 加工中心作为一种先进的制造设备,集成了多种先进技术,包括计算机技术、电子技术、自动化控制、传感测量、机械制造以及网络通信技术等。它是机电一体化产品的典范,对现代制造业产生了深远...

    jcs-profile:我的个人网站

    4. **个人资料展示**: 包括头像、简介、工作经验、教育背景、技能清单等,这些通常会出现在个人网站的首页。 5. **作品集/项目展示**: JCS可能会展示他们的编程项目、设计作品,或者任何其他相关的创作。 6. **...

    JPEG压缩教程代码

    #### 一、简介 本文档主要介绍了如何利用libjpeg库进行JPEG格式图片的压缩与解压。libjpeg是一款非常成熟且广泛使用的JPEG图像处理库,支持多种操作系统和编译器环境。它提供了丰富的API用于JPEG图片的编码与解码,...

    Apache java项目全介绍

    - **简介**: JCS (Java Caching System)是一个缓存管理系统,提供了一套缓存API。 - **特点**: JCS支持多种缓存策略和过期机制,有助于提高系统的响应速度和性能。 ##### 21. JMeter - **简介**: JMeter是一款用于...

    CCF推荐期刊列表

    4. **Journal of Computer Security (JCS)** - **简介**:IOS Press出版的计算机安全领域期刊。 - **重要性**:适合所有从事计算机安全相关研究的学者投稿。 ##### C类期刊 1. **Computer Law and Security ...

    turbine简介

    ### Turbine框架简介 Turbine是一个开源的Java Web应用程序框架,由Jakarta项目维护,致力于简化Web应用程序的开发过程。Turbine以其强大的模块化结构、灵活性以及对MVC(Model-View-Controller)模式的支持而受到...

    juniper 基础教程

    #### 二、产品简介 ##### 1. T系列核心路由器 T系列包括T320、T640、T1600、TXMatrix以及超级路由矩阵(TXMatrix Plus),它们是构建高性能核心网络的关键组件。以下是各型号的简要介绍: - **T320**:适用于空间...

    Oracle 11gR2 2 Day Java Developer's Guide

    #### 一、Oracle 11gR2 简介 Oracle Database 11g Release 2 (11gR2) 是 Oracle 公司推出的一款企业级数据库管理系统。它在 Oracle 11g 的基础上进行了大量的改进和增强,不仅提高了性能和可管理性,还增加了许多新...

    libjpeg来声称jpeg文件

    #### 二、libjpeg库简介与功能 libjpeg是一个开源的JPEG图像编解码库,提供了生成和解析JPEG格式图像的功能。对于灰度图像,libjpeg能够高效地压缩和存储,利用YCrCb色彩空间模型进行优化。该库不仅支持常见的JPEG...

    jive.chm

    2 jcs学习笔记 3 关于Hibernate的Cache问题 4 用缓冲技术提高JSP应用的性能和稳定性 5 SwarmCache入门 <br> 源代码研究 1 Jive中的全局配置 2 Jive源代码情景分析-index....

    中国民航离港系统.pdf

    #### 一、离港系统简介 - **系统介绍**:中国民航离港系统是一种专门用于管理航空公司离港流程的计算机化信息系统,旨在提高机场运营效率和服务质量。该系统涵盖了从航班计划、旅客值机、行李处理到航班控制等一系列...

Global site tag (gtag.js) - Google Analytics