`
wing123
  • 浏览: 796707 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
阅读更多
Java Caching System (JCS), Jakarta Turbine 项目的一部分, 与Commons Collections相比更有成熟、更具扩展性。

安装和配置

在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。


ICacheManager

这是客户应用实现所有缓存有关操作(如:存储、访问以及释放缓存中的数据)的主接口(契约)。客户程序可以是JSP、Struts Action类,或者就是一个POJO对象。创建该接口用于对客户端隐藏所有缓存的实现细节,这样当我们将来需要切换另一种的第三方缓存API的时候无需对客户端代码做任何调整。

BaseCacheManager

这是web门户缓存框架的主类。是对ICacheManager 接口的最基本实现。创建BaseCacheManager 用于在一个类中集中所有缓存相关的方法。它被设计为单例模式保证在servlet容器的JVM中有且仅有一个ICacheManager 的实例被创建。在多web服务器/servlet容器实例共同处理web请求的集群环境中,每个JVM将会创建独立的ICacheManager 实例。如果将来你要转换到不同的缓存API ,这是唯一需要为新的缓存API修改的类。如果你切换到JCache-兼容的缓存实现,对缓存管理器的修改将会是很小的。

ICacheLoader

该接口用于在web客户端实现真正的数据访问逻辑。所有需要使用缓存机制的客户端应用必须实现该接口。它包括仅有的一个方法叫做loadCacheObject() ,有两个输入参数:一个String参数制定缓存区域名称,一个对象参数制定缓存键值。这样,缓存管理器将知道在缓存的对象超过指定的“生存时间”的时候,使用哪个客户端程序(运行loadCacheObject 方法)来重载缓存中的对象 。

ICacheKey

ICacheKey 接口创建的目的是为了隐藏特定的创建缓存键值的细节。有时候缓存的键值不是一个简单的字符串。它可能像多个对象组合起来一样复杂,从数据源获取这些值需要多个查找方法而不是单一的方法。在这种情况下, ICacheKey 接口可以被用来定义创建缓存键值的所有复杂的逻辑。这样,缓存键值创建逻辑将会被定义为独立的类。我编写了一个简单的类TestCacheKey 实现了该接口并实现了getCacheKey() 方法来演示使用该接口的方法。

CacheRegions

一个 缓存区域 被定义为一个组织起来的命名空间用于容纳一组缓存对象集合。你需要在配置文件中定义缓存区域来实现在一块单独的内存空间中存储数据,管理缓存数据的有效期限。如果需要的话,对有相似特征的对象(例如:生存时间和业务用途)应该被缓存在相同的缓存区域中,让它们可以在相同的时间失效。我定义了分离的缓存区域来存储静态数据和小变动数据。为了避免同步操作带来的效率影响,我对每个缓存区域使用了单独的Cache (JCS) 实例。

CacheElementInfo

该类用于封装所有的缓存统计信息(例如:命中数、不中数、命中比例等),用来监测在web应用中所有缓存对象的效率。

分享到:
评论

相关推荐

    jcs-1.3资源包

    2. 配置 JCS 配置文件(如 jcs-default.xml 和 jcs-region.xml),定义缓存区域、缓存策略等。 3. 在代码中使用 JCS API 进行缓存操作,如 `CacheManager.getInstance().getCache("缓存名")` 获取缓存实例,然后调用...

    jcs 教程 缓冲

    配置 JCS 的过程通常涉及到创建一个配置文件,如 `cache.ccf`,其中定义了缓存区域(region)的属性。在提供的配置示例中,我们看到一个名为 `chatCache` 的缓存区域被定义。这个区域的配置包括: 1. **最大对象数*...

    jcs缓存所需要的包

    然后,配置JCS的XML文件(如`jcs-default.xml`和`jcs-regional.xml`),定义缓存区域、缓存策略以及底层存储机制。 2. **缓存组件**:JCS由几个主要组件组成,包括`CacheManager`、`Cache`、`CacheElement`等。`...

    jcs缓存处理

    2. **配置JCS**:在配置文件(通常是`jcs-default.xml`和`jcs-regions.xml`)中设置缓存区域、缓存策略、持久化策略等。 3. **初始化JCS**:在程序启动时,加载并初始化JCS配置。 4. **使用JCS**:通过JCS提供的...

    jcs 缓存服务器

    在配置JCS时,开发者可以定义缓存区域,每个区域可以有不同的配置参数,如缓存大小、过期时间、同步策略等。通过这种方式,可以根据不同的业务需求定制不同的缓存行为。 在压缩包`cache_1015`中,可能包含了JCS的...

    jcs.rar_JCS_Java Caching System_jcs java

    1. **缓存管理**:JCS提供了多种缓存区域,每个区域可以有不同的配置,如缓存策略、过期时间等。这使得开发者能够针对不同类型的数据显示定制化的缓存行为。 2. **缓存策略**:JCS支持LRU(Least Recently Used)...

    java caching system完整项目例子(包括用到的JAR包)

    2. 配置JCS,定义缓存区域、缓存策略、过期时间等参数,这通常通过修改XML配置文件来完成。 3. 在代码中集成JCS,使用JCS提供的API进行数据的存取操作,例如`JCS.getInstance("cacheName")`获取缓存实例,然后调用`...

    JCS 实践

    - **配置灵活性**: JCS允许通过配置文件调整缓冲区特性,包括内存大小、超时时间等。默认配置可以在`WEB-INF/classes/cache.ccf`找到,每个缓冲区可以有独立设置。配置选项还包括附加的辅助缓存,如硬盘、网络或其他...

    JCS简介

    JCS的配置十分灵活,用户可以通过修改配置文件`cache.ccf`来实现不同缓存策略的切换,无需修改源代码。例如,要配置一个简单的内存缓存: ``` # WEB-INF/classes/cache.ccf jcs.default= jcs.default....

    一个简单jcs实例,一看就会的程序

    要使用JCS,首先需要在Java项目中添加JCS的依赖,然后创建一个配置文件(如`jcs.conf`),定义缓存区域、缓存策略以及缓存组件。配置文件可能包含以下内容: ```properties # 定义一个缓存区域 cache.region1....

    jcs 所需jar包 共3个

    在集成JCS时,开发者需要了解如何配置缓存策略,例如设置缓存过期时间、选择合适的缓存区域、配置底层存储(如磁盘或数据库)以及调整并发参数等。同时,为了优化性能,可能还需要关注内存管理和垃圾回收策略,以...

    JCS1.3开源的缓存架构

    1. **配置文件**:JCS 使用 XML 配置文件定义缓存策略,如缓存容量、过期时间、缓存级别等。 2. **编程接口**:通过 Java API,开发者可以方便地进行缓存的增删查改操作。 3. **生命周期管理**:JCS 提供了 ...

    JCS所需的资源包 concurrent.jar

    在使用JCS时,开发者可以配置多种缓存区域,每个区域可以有自己的缓存策略,比如LRU(Least Recently Used)最近最少使用、FIFO(First In First Out)先进先出或定时过期等。JCS还支持内存缓存、硬盘缓存以及分布式...

    本地缓存(一)ehcache/jcs/cache4j/jcs的性能测试与使用场景分析

    Ehcache支持多线程环境,具有丰富的API和配置选项,使得开发者可以根据项目需求进行定制。此外,Ehcache还集成了Spring框架,使得在Spring应用中集成非常方便。 JCS,全称Java Caching System,是一个开源的、...

    JCS-018立时加工中心主轴箱及(sw+说明书+cad)cad图纸毕业生设计书.zip

    4. **润滑系统**:良好的润滑是保障主轴箱正常运行的关键,JCS-018可能配置了强制润滑系统,如油气润滑或循环油润滑,以减少磨损,延长主轴寿命。 5. **冷却装置**:为了降低主轴工作时产生的热量,JCS-018可能配备...

    压力继电器JCS-02[归纳].pdf

    8. 参数配置:JCS-02的参数配置包括工作电压、工作电流、频率、功率等多个参数,可以根据不同的应用场景进行配置和调整。 9. 兼容性:JCS-02具有良好的兼容性,能够与多种设备和系统集成,满足不同应用场景的需求。...

    speedframework-开源

    5. **性能优化**:通过合理配置JCS,可以调整缓存策略,例如设置过期时间、容量限制等,以适应不同场景下的性能需求。 在压缩包文件`speedframework-1.1.0-Quaoar`中,包含了Speedframework 的具体实现和相关资源,...

    jcs-emacs:所有平台的一致Emacs配置

    `jcs-emacs` 是一个针对Emacs编辑器的配置集合,旨在提供跨平台的一致性体验。这个项目的主要目标是让Emacs在不同的操作系统上(如Windows、Linux、macOS)拥有相似的功能和外观,确保用户无论在哪种环境下都能享受...

    机械毕业设计——JCS-018立时加工中心主轴箱及.zip

    其次,主轴电机的选择和配置也是关键。现代加工中心常采用内置电机或电主轴结构,以减小动力传递过程中的损失,提高效率。电机的功率和控制方式直接影响到主轴的驱动性能,例如,伺服电机可以实现精确的速度控制和...

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

    4. **模块化设计**:便于快速配置和灵活组合。 5. **智能化**:通过集成更多智能技术提高自动化水平。 6. **柔性化**:能够适应不同种类零件的加工需求。 7. **用户界面友好**:提供更加直观的操作界面。 8. **科学...

Global site tag (gtag.js) - Google Analytics