参考博客文章(谢谢下面这些文章的作者):
1、http://blog.sina.com.cn/s/blog_537c07f60100094l.html
2、http://blog.chinaunix.net/u/15511/showart_101263.html
3、jcs.pdf英文文档
今天研究了下 jcs ,从网上查了一些资料(首先谢谢各位提供帮助的大虾啦),为了方便以后查找,现整理出来,有不全或者不正确的地方,望大家 指正。
基本的JCS配置:
1、默认的内存缓存:
该cache.ccf配置文件是放置到web-inf/classes/目录下的! 同时如果配置文件内没有指定特定的缓冲区的属性,所有缓冲区都会根据默认属性来构建。
Jcs.default=
Jcs.default.cacheattributes=
org.apache.jcs.engine.CompositeCacheAttributes
jcs.default.cacheattributes.MaxObjects=1000
jcs.default.cacheattributes.MemoryCacheName=
org.apache.jcs.engine.memory.lru.LRUMemoryCache
在上面的配置中,MaxObject 指定缓冲区的大小是存放1000个对象,1000个缓冲对象是指的每个缓冲区的大小为存放1000个对象,而不是指所有的缓冲区总容量。
其中
jcs.default=? 用来指定默认缓冲区对应的辅助缓冲区的名称!cacheattributes :设定使用的 cache 属性管理类别
MemoryCacheName 表示 内存缓冲区使用LRUMemoryCache对象。
2、如果需要加上缓存有效期限制,需要加上如下内容
接着上面的配置文件按(if you want to add memory shrinking then you can add these lines ):
jcs.defalut.cacheattritues.UserMemoryShrinker=true
jcs.default.cacheattributes.MaxMemoryIdleTimeSeconds=3600
jcs.default.cacheattributes.ShrinkerIntervalSeconds=60
jcs.default.MaxSpoolPerRun=500
jcs.default.elementattributes=org.apache.jcs.engine.ElementAttributes
jcs.default.elementattributes.IsEternal=false
上面的配置 中:
UserMemoryShrinker 属性设定是否使用冗余内存清除程序,true表示是
MaxMemoryIdleTimeSeconds 属性:表示 将UserMemoryShrinker 设为true时,jcs对缓冲的对象的最大滞留缓存中的时间,如果一个对象在缓冲区内停留的时间操作这个时间,就会被认为是“不新鲜的”而不清理掉或者存入磁盘 此次表示 3600秒则过期。
ShrinkIntervalSeconds 属性表示 对在缓存中的对象,多长时间检查一次,如果在检查的过程中发现有 驻留缓存大于 MaxMemoryIdleTimeSeconds 的,就将做过期处理。
Elementattributes 属性用来设定 element属性类别。
IsEternal 属性:用来设定 element 属性 是否会过期,(单词Eternal永久的意思)
= false 表示 不永久,就是会过期。
jcs.default.elementattributes.MaxLifeSeconds=2100 :设定 element 建立后能存活多久,IsEternal=false时有效
jcs.default.elementattributes.IdleTime=1800: 设定 element 可闲置的时间,IsEternal=false时有效
3.设置硬盘索引缓冲区(辅助缓冲区)
jcs.auxiliary.DC =
org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheFacory
jcs.auxiliary.DC.attributes=
org.apache.jcs.auxiliary.dis.indexed.IndexedDiskCacheAttributes
jcs.auxiliary.DC.attributes.DiskPath=g:/dev/jcs/raf
3、如果想将这个辅助硬盘索引缓冲区绑定到默认的缓冲区上,需要
修改默认缓冲区定义的第一条记录为
jcs.default =DC 即可,这样 所有未指定属性的缓冲区都会自己使用一个硬盘缓冲区,缓冲文件以缓冲区的名字来命名。存放到指定目录下。
4、如果想预定义一个具体的region缓冲区,比如叫做 testCache1,那么可以增加下面的配置:
jcs.region.testCache1=DC
(此处知名 辅助缓冲区,如果没有则说明没有辅助缓冲区)
jcs.region.testCache1.cacheattributes=
org.apache.jcs.engine.CompositeCacheAttributes
jcs.region.testCache1.cacheattributes.MaxObjects=1000
jcs.region.testCache1.cacheattributes.MemoryCacheName=
org.apache.jcs.engine.memory.lru.LRUMemoryCache
jcs.region.testCache1.cacheattributes.UseMemoryShrinker=true
jcs.region.testCache1.cacheattributes.MaxMemoryIdleTimeSeconds=3600
jcs.region.testCache1.cacheattributes.ShrinkerIntervalSeconds=60
jcs.region.testCache1.cacheattributes.MaxSpoolPerRun=500
jcs.region.testCache1.elementattributes=org.apache.jcs.engine.ElementAttributes
jcs.region.testCache1.elementattributes.IsEternal=false
5、完整的 配置文件如下(来自官方英文版pdf,加了点注释):
# DEFAULT CACHE REGION
(默认缓冲区)jcs.default=DC,LTCP
-- 指明辅助缓冲区
jcs.default.cacheattributes=
org.apache.jcs.engine.CompositeCacheAttributes
jcs.default.cacheattributes.MaxObjects=1000
jcs.default.cacheattributes.MemoryCacheName=
org.apache.jcs.engine.memory.lru.LRUMemoryCache
# PRE-DEFINED CACHE REGIONS
(预定义的region缓冲区(不是默认的,可以通过名称获取名称是 testCache1))jcs.region.testCache1=DC,LTCP
jcs.region.testCache1.cacheattributes=
org.apache.jcs.engine.CompositeCacheAttributes
jcs.region.testCache1.cacheattributes.MaxObjects=1000
jcs.region.testCache1.cacheattributes.MemoryCacheName=
org.apache.jcs.engine.memory.lru.LRUMemoryCache
jcs.region.testCache1.cacheattributes.UseMemoryShrinker=true
jcs.region.testCache1.cacheattributes.MaxMemoryIdleTimeSeconds=3600
jcs.region.testCache1.cacheattributes.ShrinkerIntervalSeconds=60
jcs.region.testCache1.cacheattributes.MaxSpoolPerRun=500
jcs.region.testCache1.elementattributes=org.apache.jcs.engine.ElementAttributes
jcs.region.testCache1.elementattributes.IsEternal=false
# AVAILABLE AUXILIARY CACHES
(硬盘索引辅助缓冲区和横向式的并行缓冲LTCP)jcs.auxiliary.DC=
org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheFactory
jcs.auxiliary.DC.attributes=
org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheAttributes
jcs.auxiliary.DC.attributes.DiskPath=g:/dev/jcs/raf
jcs.auxiliary.DC.attributes.maxKeySize=100000
jcs.auxiliary.LTCP=
org.apache.jcs.auxiliary.lateral.LateralCacheFactory
jcs.auxiliary.LTCP.attributes=
org.apache.jcs.auxiliary.lateral.LateralCacheAttributes
jcs.auxiliary.LTCP.attributes.TransmissionTypeName=TCP
jcs.auxiliary.LTCP.attributes.TcpServers=localhost:1111
jcs.auxiliary.LTCP.attributes.TcpListenerPort=1110
分享到:
相关推荐
标题"jcs缓存所需要的包"表明我们需要关注的是与JCS缓存相关的Java库,特别是JAR文件。在这个场景下,提到的"jcs.jar包"是JCS的核心库,包含了实现JCS功能的所有类和接口。 描述中提到"导入这两个包即可使用jcs缓存...
2. **配置JCS**:在配置文件(通常是`jcs-default.xml`和`jcs-regions.xml`)中设置缓存区域、缓存策略、持久化策略等。 3. **初始化JCS**:在程序启动时,加载并初始化JCS配置。 4. **使用JCS**:通过JCS提供的...
**JCS缓存服务器详解** Java Cache System(JCS)是一种高效的、可扩展的、分布式的内存缓存系统,主要用于提高应用程序的性能和响应速度。它通过将数据存储在内存中,避免了频繁的数据库访问,从而减少了I/O操作,...
1. **配置文件**:JCS 使用 XML 配置文件定义缓存策略,如缓存容量、过期时间、缓存级别等。 2. **编程接口**:通过 Java API,开发者可以方便地进行缓存的增删查改操作。 3. **生命周期管理**:JCS 提供了 ...
1. **缓存管理**:JCS提供了多种缓存区域,每个区域可以有不同的配置,如缓存策略、过期时间等。这使得开发者能够针对不同类型的数据显示定制化的缓存行为。 2. **缓存策略**:JCS支持LRU(Least Recently Used)...
1. **多级缓存策略**:JCS 支持本地缓存、远程缓存和持久化缓存的组合,可以根据需求配置不同级别的缓存策略。 2. **缓存替换策略**:包括 LRU(Least Recently Used)、LFU(Least Frequently Used)、FIFO(First...
JCS不仅提供基本的内存缓存功能,还具备丰富的高级特性,如内存管理、磁盘溢出处理、线程池控制等,使其成为一种强大的缓存解决方案。 **1. 缓冲区(Region)的概念与编程** - **缓冲区**: 在JCS中,缓冲区是内存中...
本文将主要探讨本地缓存的几个常见实现,包括Ehcache、JCS(Java Caching System)和Cache4j,并进行性能测试,同时分析它们各自适用的使用场景。 首先,Ehcache是一个广泛使用的开源Java缓存解决方案,它提供了...
这段配置指定了默认缓存属性,设置了最大缓存对象数量为1000,并选择LRU作为内存缓存算法。 #### 四、应用场景 - **高读低写的应用**:对于读操作远多于写操作的应用场景,JCS能显著提升性能。 - **频繁访问的数据*...
- 可插拔控制器:JCS的组合缓存器允许开发者灵活地选择和配置不同的缓存区域,简化了缓存管理的复杂度。 #### 4. **缓存的整合与触发** - 整合缓存技术需要考虑现有系统架构,如Struts2+jQuery框架下,JCS的集成...
配置 JCS 的过程通常涉及到创建一个配置文件,如 `cache.ccf`,其中定义了缓存区域(region)的属性。在提供的配置示例中,我们看到一个名为 `chatCache` 的缓存区域被定义。这个区域的配置包括: 1. **最大对象数*...
要使用JCS,首先需要在Java项目中添加JCS的依赖,然后创建一个配置文件(如`jcs.conf`),定义缓存区域、缓存策略以及缓存组件。配置文件可能包含以下内容: ```properties # 定义一个缓存区域 cache.region1....
同时,理解JCS的配置文件格式和选项也是必要的,这有助于根据具体场景调整缓存行为,如设置缓存容量、过期时间、序列化策略等。 总的来说,`concurrent.jar` 是Java并发编程和缓存管理的重要工具,而JCS是一个强大...
在集成JCS时,开发者需要了解如何配置缓存策略,例如设置缓存过期时间、选择合适的缓存区域、配置底层存储(如磁盘或数据库)以及调整并发参数等。同时,为了优化性能,可能还需要关注内存管理和垃圾回收策略,以...
JCS的可插入控制器使得使用多个缓存区域变得简单,开发者可以专注于数据的获取和设置。 3. **缓存整合与选择**:对于基于Struts2和jQuery的应用,JCS作为服务端缓存可以在Action层进行数据封装,对前端影响较小。而...
《osCache缓存配置详解》 osCache是Java平台上的一个高效、易用的缓存解决方案,它由Tuckey组织开发,广泛应用于各种Web应用中,以提高数据读取速度,减轻数据库压力。osCache的核心功能是提供了一个内存中的对象...
Session和SessionFactory之间紧密合作,共同实现Hibernate缓存的基本机制。 文档提及了“SQL”和“select * from table_name where SQL”,这是对数据库进行查询的语法,表名和查询条件用SQL语言指定。在Hibernate...
Java Caching System (JCS)是Apache Turbine的一个子项目,提供复合缓存功能,对象可以被缓存到内存和硬盘,并支持对象过期时间设置。JCS也支持构建分布式缓存架构,适合读操作远大于写操作的高并发场景。 ...
// 配置文件通常包含缓存设置 // 获取或创建一个名为"MyCache"的缓存区域 CacheAccess, String> cache = cacheMgr.getCache("MyCache"); // 放入缓存 cache.put("key1", "value1"); // 获取缓存数据 String ...
Ehcache的配置主要通过XML文件进行,包括定义缓存区域、设置缓存策略、指定缓存大小等。例如: ```xml maxEntriesLocalHeap="1000" <!-- 内存缓存最大条目 --> eternal="false" <!-- 是否永不过期 --> ...