JCS简介
概述
JCS是Jakarta的项目Turbine的子项目。它是一个复合式的缓冲工具。可以将对象缓冲到内存、硬盘。具有缓冲对象时间过期设定。还可以通过JCS构建具有缓冲的
分布式构架,以实现高性能的应用。
对于一些需要频繁访问而每访问一次都非常消耗资源的对象,可以临时存放在缓冲区中,这样可以提高服务的性能。而JCS正是一个很好的缓冲工具。
缓冲工具对于读操作远远多于写操作的应用性能提高非常显著。
JCS的特性
JCS除了简单的将对象缓冲在内存中以外,还具有几个特性,以适应企业级缓冲系统的需要。这些特性包括时间过期、索引式硬盘缓冲、并行式的分布缓冲等。
内存缓冲
JCS现在支持两种内存缓冲算法LRU和MRU。通常都是使用LRU算法。
org.apache.stratum.jcs.engine.memory.lru.LRUMemoryCache
使用内存缓冲区需要定义缓冲区大小,当超过缓冲区限制时,会将缓冲内容抛弃掉。如果有配硬盘缓冲,则将挤出来的缓冲内容写入硬盘缓冲区。
时间过期
JCS对于缓冲的对象,可以设定缓冲过期时间,一个对象在缓冲区中停留的时间超过这个时间,就会被认为是“不新鲜”而被放弃。
索引式硬盘缓冲
一方面,为了避免缓冲区过大,撑爆虚拟机的内存,
另一方面又希望能够缓冲更多的对象,JCS可以将超出缓冲区大小的对象缓存到硬盘上。配置上也比较方便,只需要指定缓冲临时文件的存放目录位置。硬盘缓冲将缓冲对象的内容写到文件上,
但是将访问索引保存在内存中,因此也能够达到尽可能高的访问效率。
并行式的分布缓冲(Lateral)
通常,将对象缓冲在内存中,一方面提高了应用的性能,而另一方面却使得应用不可以分布式发布。因为假设一个应用配置在两台服务器上并行运行,而两台服务器单独缓冲,则很容易导致两个缓冲区内容出现版本上的不一致而出错。一个机器上修改了数据,这个动作会影响到本地内存缓冲区和数据库服务器,但是却不会通知到另一台服务器,导致另一台上缓冲的数据实际上已经无效了。
并行式的分布缓冲就是解决这个问题。可以通过配置,将几台服务器配成一个缓冲组,组内每台服务器上有数据更新,会横向将更新的内容通过TCP/IP协议传输到其他服务器的缓冲层,这样就可以保证不会出现上述情况。这个的缺点是如果组内的并行的服务器数量增大后,组内的数据传输量将会迅速上升。
这种方案适合并行服务器的数量比较少的情况。
Client/Server式的缓冲(Remote)
客户/服务端式的缓冲集群。这种方式支持一个主服务器和最高达到256个客户端。客户端的缓冲层会尝试连接主服务器,如果连接成功,就会在主服务器上注册。
分享到:
相关推荐
Java Caching System(JCS)是一个高性能的、可扩展的分布式缓存系统,主要用于提高基于数据库的Web应用程序的性能。JCS是用Java语言编写的,它的设计目标是减少对数据库的访问频率,通过存储经常访问的数据在内存中...
**JCS(Java Caching System)1.3 开源缓存架构详解** JCS(Java Caching System)是一个开源的、高性能的缓存框架,它主要用于提高应用的性能和响应速度,通过将常用数据存储在内存中,避免了频繁地访问数据库或...
文档提到了多种缓存框架和API,比如Ehcache、JCS(Java Caching System)、JCache、SwarmCache、TreeCache/JBossCache等。这些缓存框架提供丰富的配置选项,能够优化缓存的性能和功能,适应不同应用场景的需求。 ...
- **简介**: JCS (Java Caching System)是一个缓存管理系统,提供了一套缓存API。 - **特点**: JCS支持多种缓存策略和过期机制,有助于提高系统的响应速度和性能。 ##### 21. JMeter - **简介**: JMeter是一款用于...
2. jcs-1.3.jar:Java Caching System (JCS) 是一个内存缓存系统,用于提高Web应用的性能。开发者可以通过JCS存储和检索频繁使用的数据,避免了重复计算或数据库查询,从而降低响应时间。 3. jettison-1.3.3.jar:这...
5. **JCS(Java Caching System)**:这是一个服务器端的分布式缓存系统,适用于Java应用程序,能够提高应用性能和减少数据库负载。 6. **Stratum**:是一个工具,用于将Avalon框架与Turbine之间的迁移,帮助开发者...
本文将深入探讨几种常见的Java缓存机制的实现方法,包括OSCache、Java Caching System (JCS)、EHCache、JCache、ShiftOne、SwarmCache以及TreeCache/JBossCache和WhirlyCache。 1. OSCache: OSCache 是一款广泛...
5. **JCS (Java Caching System)** - 服务器端的分布式缓存系统,支持多种缓存策略和技术。 6. **Stratum** - Turbine与Avalon框架之间的集成工具。 此外,Jakarta Velocity作为一个与Turbine紧密集成的Web模板引擎...
相较于Guava Cache和JCS(Java Caching System),Ehcache提供了更丰富的特性,如分布式缓存、磁盘存储和更完善的API。然而,对于轻量级应用,Guava Cache可能更为简洁高效。 **五、最佳实践** 1. **合理设置缓存...
JCS (Java Caching System) 是一个高性能的Java缓存系统,它提供了一种机制来缓存数据,减少对后端数据库的请求频率。Hibernate可以通过配置使用JCS作为二级缓存实现。 #### 18. JDBC2_0-stdext.jar 这是一个扩展...
此外,Speedframework 内置了JCS(Java Caching System)缓存系统。JCS是一个高度可配置的、分布式的缓存解决方案,它可以极大地提高应用的性能,减少对数据库的直接访问。通过将频繁访问的数据存储在内存中,JCS...