,我在定义自己的区域(OUR_REGION)时使用了一个内存区域和一个磁盘区域:
清单 2. 在 JCS 配置中定义的区域
jcs.default=DISK_REGION
jcs.default.cacheattributes=org.apache.jcs.engine.CompositeCacheAttribu tes
jcs.default.cacheattributes.MaxObjects=1000
jcs.default.cacheattributes.MemoryCacheName=
org.apache.jcs.engine.memory.lru.LRUMemoryCache
jcs.region.OUR_REGION=DISK_REGION
jcs.region.OUR_REGION.cacheattributes=org.apache.jcs.engine.CompositeCa cheAttributes
jcs.region.OUR_REGION.cacheattributes.MaxObjects=1000
jcs.region.OUR_REGION.cacheattributes.MemoryCacheName=
org.apache.jcs.engine.memory.lru.LRUMemoryCache
jcs.region.OUR_REGION.cacheattributes.UseMemoryShrinker=true
jcs.region.OUR_REGION.cacheattributes.MaxMemoryIdleTimeSeconds=3600
jcs.region.OUR_REGION.cacheattributes.ShrinkerIntervalSeconds=60
jcs.region.OUR_REGION.cacheattributes.MaxSpoolPerRun=500
jcs.region.OUR_REGION.elementattributes=org.apache.jcs.engine.ElementAt tributes
jcs.region.OUR_REGION.elementattributes.IsEternal=false
jcs.auxiliary.DISK_REGION=org.apache.jcs.auxiliary.disk.indexed.Indexed DiskCacheFactory
jcs.auxiliary.DISK_REGION.attributes=
org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheAttributes
jcs.auxiliary.DISK_REGION.attributes.DiskPath=c:/jcs/disk_region
jcs.auxiliary.DISK_REGION.attributes.maxKeySize=100000
清单 2 中的第一行表明该配置将默认区域设置为 DISK_REGION。DISK_REGION 是 IndexedDiskCacheFactory 类型,并且该文件在磁盘上指定为 c:\jcs\disk_region。清单 2 中的第二个配置组定义了我自己的区域,我为它添 加了一些选项,这种类型的配置(在指定用户定义区域时同时使用内存区域和磁 盘区域)是很常见的。清单 2 中的第 3 个配置组定义了一个 辅助区域。
JCS 有两个依赖项:concurrent 和 commons-logging(JCS 1.2.7.0 之前的 版本中,还有两个其他依赖项:commons-collections 和 commons-lang)。
使用缓存构建更快的Web应用程序(3)
时间:2011-07-08 IBM Kellen F. Bombardier
JCS 辅助插件
除了 4 个核心缓存实现外,JCS 还提供了一些辅助插件,它们是区域可以使 用的可选插件。这些辅助插件包括索引磁盘缓存(Indexed Disk Cache)、TCP 外围缓存(TCP Lateral Cache)和远程缓存服务器(Remote Cache Server)。 例如,索引磁盘缓存允许在到达内存阈值时在磁盘上交换项目。这使得每个区域 能更灵活地控制其缓存,提供一种类似于大多数操作系统所使用的虚拟内存的存 储方法。cache.ccf 配置文件可以让每个辅助区域满足应用程序的需求。
JCS 的基本用法
学习 JCS 基础知识的一个好方法是查看 API 最常用的方法。最好从初始化区 域开始。初始化 JCS 缓存区域对象能使您访问大部分所需的常用方法。清单 3 初始化 JCS 对象并获得一个默认缓存区域实例:
清单 3. 检索默认缓存区域
// Initialize the JCS object and get an instance of the default cache region
JCS cache = JCS.getInstance("default");
检索 JCS 实例后,可以调用最需要的方法。put 方法将一个新对象放入缓存 中。接下来只需一个 key(第一个参数)和一个 value(第二个参数)。清单 4 显示一个基本示例:
清单 4. 设置缓存项
// Set up
String key = "key0";
String value = "value0";
// Place a new object in the cache
cache.put(key, value);
清单 4 中的示例使用字符 |