`
houlinyan
  • 浏览: 149721 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论
阅读更多

一jcs功能:

 

1、jcs内存缓存支持两种算法:LRU和MRU,不过通常用的为LRUorg.apache.stratum.jcs.engine.memory.lru.LRUMemoryCache ,使用内存缓存时需要配置内存缓存的大小,当超过内存缓存的最大限制时,会将内存缓存的内容抛出,如果配置有磁盘缓存就会保存到磁盘缓存中

 

2、时间过期:这点与session一致,可以设置对象的有限时间,超过限制的时间,就将过期对象作为垃圾对象进行清除。

 

3、索引式的硬盘缓存。这个就是我们经常要用到的,为了避免服务器的内存溢出,同时保证但内存缓存区超过限制时,缓存的内容不丢弃。只需要指定缓冲临时文件的存放目录位置。硬盘缓冲将缓冲对象的内容写到文件上,但是将访问索引保存在内存中,因此也能够达到尽可能高的访问效率。

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

 二是Client/Server式的缓冲(Remote), 客户/服务端式的缓冲集群。这种方式支持一个主服务器和最高达到256个客户端。客户端的缓冲层会尝试连接主服务器,如果连接成功,就会在主服务器上注册。每个客户端有数据更新,就会通知到主服务器,主服务器会将更新通知到除消息来源的客户端以外的所有的客户端。 每个客户端可以配置超过一个服务器,第一个服务器是主服务器,如果与第一个服务器连接失败,客户端会尝试与备用的服务器连接,如果连接成功,就会通过备用服务器与其他客户端对话,同时会定期继续尝试与主服务器取得连接。如果备用服务器也连接失败,就会按照配置顺序尝试与下一个备用服务器连接。 这种方式下,更新通知是一种轻量级的,一个机器上的数据更新,不会把整个数据传输出去,而只是通知一个ID,当远程的其他机器收到更新通知后,就会把对应ID的缓冲对象从本地的内存缓冲区中移除,以保证不会在缓冲区内出现错误数据。 这种构造需要分别配置客户端和服务器,配置比较麻烦。

 

二 详细的配置文件 在web-Info/class目录下cache.ccf文件,配置与log4j的配置非常相似。

//内存缓存 jcs.default=DC

jcs.default.cacheattributes=org.apache.jcs.engine.CompositeCacheAttributes

jcs.default.cacheattributes.MaxObjects=10000

jcs.default.cacheattributes.MemoryCacheName=org.apache.jcs.engine.memory.lru.LRUMemoryCache

 //时间限制

jcs.default.cacheattributes.UseMemoryShrinker=true

jcs.default.cacheattributes.MaxMemoryIdleTimeSeconds=36000

jcs.default.cacheattributes.ShrinkerIntervalSeconds=60

jcs.default.cacheattributes.MaxSpoolPerRun=500

jcs.default.elementattributes=org.apache.jcs.engine.ElementAttributes

jcs.default.elementattributes.IsEternal=false

 //索引硬盘配置

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=cache//配置缓存保存的地

jcs.auxiliary.DC.attributes.OptimizeAtRemoveCount=10000

 jcs.auxiliary.DC.attributes.MaxRecycleBinSize=100000

jcs.auxiliary.DC.attributes.maxKeySize=2000000

//如果你想配置多台并行的话

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=192.168.1.182:8091,192.168.1.109:8091

jcs.auxiliary.LTCP.attributes.TcpListenerPort=8091

jcs.auxiliary.LTCP.attributes.PutOnlyMode=false

这里配置是在两台机器上实现并行缓存的192.168.1.182和109上面,并且端口都为8091

最好加上jcs自己的组的管理体系,他实现的作用与负载均衡有的类似

jcs.system.groupIdCache=DC

jcs.system.groupIdCache.cacheattributes=org.apache.stratum.jcs.engine.CompositeCacheAttributes jcs.system.groupIdCache.cacheattributes.MaxObjects=10000

jcs.system.groupIdCache.cacheattributes.MemoryCacheName=org.apache.stratum.jcs.engine.memory.lru.LRUMemoryCache

还有那Client/Server式的缓冲,我没有涉及到。也就不说了

 

 

 

本文来自CSDN博客,http://blog.csdn.net/tsy_li/archive/2008/07/09/2628035.aspx

 

分享到:
评论

相关推荐

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

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

    jcs.rar_JCS_Java Caching System_jcs java

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

    Jcs1.3.Jar

    JCS 1.3.jar是JCS的一个特定版本,包含了该缓存系统的全部类和方法,允许开发者在他们的应用中集成和利用JCS的功能。这个版本可能包含了一些新的特性和改进,相比于之前的版本,比如性能优化、bug修复或者增加了新的...

    jcs-1.3资源包

    JCS(Java Cache System)是一款开源的、高性能的缓存系统,主要用于提高应用程序的性能和响应速度。它通过将常用数据存储在内存中,避免了频繁的数据库访问,从而提升了系统的整体性能。JCS 1.3 版本是其发展过程中...

    jcs缓存所需要的包

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

    JCS简介

    JCS(Jakarta Caching System)是Apache Jakarta项目下的一个子项目,最初为Turbine项目的一部分,旨在为Java应用程序提供一个高效且灵活的分布式缓存解决方案。通过缓存常用数据,JCS有助于降低对数据库等后端系统...

    JCS 实践

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

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

    在IT行业中,本地缓存是提高应用程序性能的关键技术之一。本文将主要探讨本地缓存的几个常见实现,包括Ehcache、JCS(Java Caching System)和Cache4j,并进行性能测试,同时分析它们各自适用的使用场景。 首先,...

    JCS所需的资源包 concurrent.jar

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

    JCS1.3开源的缓存架构

    JCS(Java Caching System)是一个开源的、高性能的缓存框架,它主要用于提高应用的性能和响应速度,通过将常用数据存储在内存中,避免了频繁地访问数据库或文件系统。JCS 1.3 版本在早期的版本基础上进行了优化和...

    jcs缓存处理

    JCS的核心目标是提高应用程序的性能,通过在内存中存储经常访问的数据,避免频繁地从数据库或其他慢速资源中读取,从而降低了系统负载。 **一、JCS的基本概念** 1. **缓存区域(Cache Regions)**:JCS允许你将...

    jcs 教程 缓冲

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

    jcs 所需jar包 共3个

    JCS是一个开源的内存缓存系统,用于提高应用程序的性能和响应速度,它通过将数据存储在内存中,避免了频繁的数据库访问。这三份jar包可能是实现JCS功能的关键库。 1. **jcs-1.3.zip**:这是JCS的主要库文件,包含了...

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

    这里的“JCS”可能指的是某款特定的地图应用或者导航系统,它为用户提供在不同城市间的导航和位置查询功能。 【描述】"国产jcs手机地图全集 触屏机 键盘机 各个城市地图"进一步说明,这个资源集合包含了适用于各种...

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

    《JCS-018立式加工中心主轴箱及CAD设计详解》 在机械工程领域,加工中心是集高效、精密和自动化于一体的先进设备,...对于毕业生来说,这份设计书不仅提供了实践案例,也是理论知识与实际应用相结合的宝贵学习资料。

    jcs 缓存服务器

    Java Cache System(JCS)是一种高效的、可扩展的、分布式的内存缓存系统,主要用于提高应用程序的性能和响应速度。它通过将数据存储在内存中,避免了频繁的数据库访问,从而减少了I/O操作,提升了整体系统的性能。...

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

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

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

    本文将针对压力继电器JCS-02进行详细的知识点归纳,以助于理解其在工业领域中的应用与价值。 首先,压力继电器JCS-02作为一种集成了高可靠性和稳定性的电子控制元件,其主要功能是感应并控制压力的变化,从而达到对...

Global site tag (gtag.js) - Google Analytics