`

JCS入门指南

 
阅读更多

概述

使用JCS需要完成以下骤:
1.    了解核心概念。
2.    下载JCS
3.    获得JCS依赖
4.    配置JCS
5.    开始编程应用
入门指南的目的是尽可能快帮助你搭建和运行JCS,JCS各种各样的特性的深入文档在用户指南中提供。

第一步 了解核心的概念 
为了使用JCS,你必须知道一些核心的概念,最重要是你需要知道”elements”,”regions”,和“auxiliaries”这间有什么不同
JCS是一个对象缓存,你能放置一些对象或是”elements”并通过key来访问它们,很象一个hashtable。
你可以想象JCS是一个能过Name来获取的hashtables的集合。其中每一个hashtables都被称做“region”,每一个region都能被独立于其他regions配置。例如,我可以有一个称做城市的region,我缓存了一些定期被改变的城市对象。我也可以定义一个region被叫做产品,我缓存一些定期改变的产品数据。我将可以配置易变的产品的region elements 过期时间要快于city的region
Auxiliaries是region能用的插件选项。核心的Auxiliaries是Indexed Disk Cache(磁盘索引缓存)、TCP Lateral Cache(TCP横向缓存)、Remote Cache Server(远程缓存服务器)。例如,磁盘缓存允许当你的内存达到阈值后把缓存对象交换到硬上。
第二步下载jcs 

第三步,获得JCS依赖 

第四步,配置JCS 
JCS配置在一个叫"cache.ccf"的配置文件中,有替代品使用此文件,但他们超越了入门指南的范围。
缓存配置分为三部分:默认配置,regions配置和auxiliaries配置。你可以把auxiliaries想象为log4j的log4j  appenders,regions是log4j categories。每一个region都能指定auxiliaries。如果一个region不在Cache.ccf进行配置,则它将会使用默认的配置。以JCS和log4j 不同的是JCS中预先定义的region不能使default region内auxiliaries。
下面的cache.ccf文件定义了叫做”testCache1”的region,这个region使用了Indexed Disk Cache的axiliaries,它在这里被默认叫做DC。LRU内存缓存被选择用来管理内存

# DEFAULT CACHE REGION
jcs.default=DC
jcs.default.cacheattributes=
    org.apache.jcs.engine.CompositeCacheAttributes
jcs.default.cacheattributes.MaxObjects=1000
jcs.default.cacheattributes.MemoryCacheName=
    org.apache.jcs.engine.memory.lru.LRUMemoryCache
jcs.default.cacheattributes.UseMemoryShrinker=false
jcs.default.cacheattributes.MaxMemoryIdleTimeSeconds=3600
jcs.default.cacheattributes.ShrinkerIntervalSeconds=60
jcs.default.elementattributes=org.apache.jcs.engine.ElementAttributes
jcs.default.elementattributes.IsEternal=false
jcs.default.elementattributes.MaxLifeSeconds=21600
jcs.default.elementattributes.IdleTime=1800
jcs.default.elementattributes.IsSpool=true
jcs.default.elementattributes.IsRemote=true
jcs.default.elementattributes.IsLateral=true

# PRE-DEFINED CACHE REGIONS
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=false
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
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=${user.dir}/jcs_swap
jcs.auxiliary.DC.attributes.MaxPurgatorySize=10000000
jcs.auxiliary.DC.attributes.MaxKeySize=1000000
jcs.auxiliary.DC.attributes.MaxRecycleBinSize=5000
jcs.auxiliary.DC.attributes.OptimizeAtRemoveCount=300000
jcs.auxiliary.DC.attributes.ShutdownSpoolTimeLimit=60

 

第五步:JCS编码 
JCS提供了一个方便的类,org.apache.jcs.JCS这个类将可以满足你的需要。它可以仅仅通用region Name来获取一个region。如果你想要使用JCS的City 集合,你可以如以下使用:

import org.apache.jcs.JCS;
import org.apache.jcs.access.exception.CacheException;

. . .

    private static final String cacheRegionName = "city";

    private JCS cache = null;

. . .
			// in your constructor you might do this
            try
            {
                setCache( JCS.getInstance( this.getCacheRegionName() ) );
            }
            catch ( CacheException e )
            {
                log.error( "Problem initializing cache for region name ["
                  + this.getCacheRegionName() + "].", e );
            }

. . .

            // to get a city out of the cache by id you might do this:
            String key = "cityId:" + String.valueOf( id );

            City city = (City) cache.get( key );

. . .

            // to put a city object in the cache, you could do this:
            try
            {
                // if it isn't null, insert it
                if ( city != null )
                {
                    cache.put( key, city );
                }
            }
            catch ( CacheException e )
            {
                 log.error( "Problem putting "
                   + city + " in the cache, for key " + key, e );
            }

 

分享到:
评论

相关推荐

    jcs.rar_JCS_Java Caching System_jcs java

    Java Caching System(JCS)是一个高性能的、可扩展的分布式缓存系统,主要用于提高基于数据库的Web应用程序的性能。JCS是用Java语言编写的,它的设计目标是减少对数据库的访问频率,通过存储经常访问的数据在内存中...

    JCS简介及文档

    JCS缓存入门及简介

    jcs-1.3资源包

    4. **文档完善**:提供了更详尽的用户指南和开发者文档,便于理解和使用。 总结来说,JCS 1.3 是一个强大且灵活的缓存解决方案,适合各种规模的 Java 应用场景。通过合理配置和使用,能够显著提升系统的响应速度,...

    Jcs1.3.Jar

    **JCS(Java Caching System)1.3.jar** JCS(Java Caching System)是一个开源的、基于内存的分布式缓存系统,主要用于提高应用程序的性能和可伸缩性。JCS是Apache软件基金会下的一个项目,其核心设计目标是为Java...

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

    标题中的“一个简单JCS实例,一看就会的程序”指的是提供了一个易于理解的JCS应用示例,帮助开发者快速入门。 描述中提到,这个实例适用于那些可能产生大量内存占用的代码场景。JCS通过将数据存储在内存中,可以...

    JCS 实践

    **JCS实践详解** JCS,全称Java Caching System,是一个基于Java开发的分布式缓存系统,旨在提升应用程序的性能,特别是在高读取、低写入场景下。JCS不仅提供基本的内存缓存功能,还具备丰富的高级特性,如内存管理...

    jcs缓存所需要的包

    JCS(Java Caching System)是Apache软件基金会开发的一个开源的、分布式的对象缓存系统,主要用于提高应用程序的性能和可伸缩性。它通过存储经常访问的数据到内存中,减少了对数据库或其他资源的访问,从而加快了...

    JCS简介

    ### JCS 简介及关键技术点 #### 一、JCS 概述 JCS(Jakarta Caching System)是Apache Jakarta项目下的一个子项目,最初为Turbine项目的一部分,旨在为Java应用程序提供一个高效且灵活的分布式缓存解决方案。通过...

    jcs 教程 缓冲

    Java Caching System (JCS) 是一个开源的缓存解决方案,它主要用于提高应用程序的性能,尤其是在处理大量数据库查询时。JCS通过将常用数据存储在内存中,避免了频繁访问数据库,从而减轻了数据库的负载。在【描述】...

    jcs缓存处理

    **JCS(Java Caching System)详解** JCS(Java Caching System)是Apache软件基金会的一个开源项目,它提供了一种高效、灵活的缓存解决方案,特别适用于Web开发中的数据缓存需求。JCS的核心目标是提高应用程序的...

    JCS所需的资源包 concurrent.jar

    Java Concurrency Service (JCS) 是一个开源的Java缓存系统,由Apache软件基金会开发,旨在提高应用程序的性能和效率。`concurrent.jar` 文件是JCS的核心组件,包含了实现并发和缓存管理的类库。它依赖于Java的并发...

    JCS1.3开源的缓存架构

    **JCS(Java Caching System)1.3 开源缓存架构详解** JCS(Java Caching System)是一个开源的、高性能的缓存框架,它主要用于提高应用的性能和响应速度,通过将常用数据存储在内存中,避免了频繁地访问数据库或...

    jcs 所需jar包 共3个

    标题中的"jcs 所需jar包 共3个"指的是Java Caching System(JCS)所需的三个核心组件。JCS是一个开源的内存缓存系统,用于提高应用程序的性能和响应速度,它通过将数据存储在内存中,避免了频繁的数据库访问。这三份...

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

    本文将主要探讨本地缓存的几个常见实现,包括Ehcache、JCS(Java Caching System)和Cache4j,并进行性能测试,同时分析它们各自适用的使用场景。 首先,Ehcache是一个广泛使用的开源Java缓存解决方案,它提供了...

    昆仑海岸 JCS大量程系列超声波物位变送器使用说明书.PDF

    昆仑海岸 JCS大量程系列超声波物位变送器使用说明书PDF,昆仑海岸 JCS大量程系列超声波物位变送器使用说明书

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

    《JCS-018立式加工中心主轴箱及CAD设计详解》 在机械工程领域,加工中心是集高效、精密和自动化于一体的先进设备,主要用于复杂零件的批量生产。"JCS-018立式加工中心"是其中一种典型代表,其主轴箱作为核心部件,...

    JCS-018立时加工中心主轴箱及(sw+说明书+cad).rar

    特别是JCS-018型号,作为市场上的佼佼者,它因其卓越的性能和可靠性,成为了工程师与设计师们不可或缺的利器。为了帮助专业人士与学习者深入掌握这一设备,资料文件“JCS-018立时加工中心主轴箱及(sw+说明书+cad)....

    触屏键盘国产jcs手机地图全

    【标题】"触屏键盘国产jcs手机地图全"揭示了这一内容主要涉及的是针对中国国产手机,特别是那些具备触屏和键盘功能的设备,提供全面的JCS手机地图服务。这里的“JCS”可能指的是某款特定的地图应用或者导航系统,它...

    JCS.jar

    JCS

Global site tag (gtag.js) - Google Analytics