`

Java Cache 开源项目

 
阅读更多
Java Caching System
  JCS(Java Caching System)是一个用分布式的缓存系统,是基于服务器的java应用程序。它是通过提供管理各种动态缓存数据来加速动态web应用。
  JCS和其他缓存系统一样,也是一个用于高速读取,低速写入的应用程序。
  动态内容和报表系统能够获得更好的性能。
  如果一个网站,有重复的网站结构,使用间歇性更新方式的数据库(而不是连续不断的更新数据库),被重复搜索出相同结果的,就能够通过执行缓存方式改进其性能和伸缩性。
官方网站 http://jakarta.apache.org/turbine/jcs/

EHCache
  EHCache 是一个纯java的分布式缓存,支持磁盘存储,它具有以下特性:快速,简单,为Hibernate2.1充当可插入的缓存,最小的依赖性,全面的文档和测试。
官方网站 http://ehcache.sourceforge.net/

OSCache
  OSCache是一个广泛采用的高性能的J2EE缓存框架,OSCache能用于任何Java应用程序的普通的缓存解决方案。
  OSCache有以下特点:
  缓存任何对象,你可以不受限制的缓存部分jsp页面或HTTP请求,任何java对象都可以缓存。
  拥有全面的API--OSCache API给你全面的程序来控制所有的OSCache特性。
  永久缓存--缓存能随意的写入硬盘,因此允许昂贵的创建(expensive-to-create)数据来保持缓存,甚至能让应用重启。
支持集群--集群缓存数据能被单个的进行参数配置,不需要修改代码。
缓存记录的过期--你可以有最大限度的控制缓存对象的过期,包括可插入式的刷新策略(如果默认性能不需要时)。
官方网站 http://www.opensymphony.com/oscache/

Cache4J
  Cache4J是一个接口简单,可以快速上手,基于BSD许可的开源缓存软件。
  Cache4J有以下特点:
  暂只只是内存缓存;
  多线程环境设计;
  2种实现:synchronized, blocking;
  支持LFU, LRU, FIFO算法。
  支持磁盘存储,分布式引用,以及LFU2, LRU2等算法将是Cache4J接下来要实现的功能;另外,该软件的使用指南和API文档均是俄文。
官方网站:http://cache4j.sourceforge.net/

JCache(FKache)
  JCache是个开源程序,正在努力成为JSR-107开源规范,JSR-107规范已经很多年没改变了。这个版本仍然是构建在最初的功能定义上。
官方网站 http://jcache.sourceforge.net/

ShiftOne
  ShiftOne Java Object Cache是一个执行一系列严格的对象缓存策略的Javalib,就像一个轻量级的配置缓存工作状态的框架。
官方网站 http://jocache.sourceforge.net/

SwarmCache
  SwarmCache是一个简单且有效的分布式缓存,它使用IP multicast与同一个局域网的其他主机进行通讯,是特别为集群和数据驱动web应用程序而设计的。SwarmCache能够让典型的读操作大大超过写操作的这类应用提供更好的性能支持     SwarmCache使用JavaGroups来管理从属关系和分布式缓存的通讯。
官方网站 http://swarmcache.sourceforge.net

TreeCache / JBossCache
  JBossCache是一个复制的事务处理缓存,它允许你缓存企业级应用数据来更好的改善性能。缓存数据被自动复制,让你轻松进行JBoss服务器之间的集群工作。JBossCache能够通过JBoss应用服务或其他J2EE容器来运行一个MBean服务,当然,它也能独立运行。
  JBossCache包括两个模块:TreeCache和TreeCacheAOP。
  TreeCache --是一个树形结构复制的事务处理缓存。
  TreeCacheAOP --是一个“面向对象”缓存,它使用AOP来动态管理POJO(Plain Old Java Objects)
  注:AOP是OOP的延续,是Aspect Oriented Programming的缩写,意思是面向方面编程。
官方网站 http://www.jboss.org/products/jbosscache

WhirlyCache
  Whirlycache是一个快速的、可配置的、存在于内存中的对象的缓存。它能够通过缓存对象来加快网站或应用程序的速度,否则就必须通过查询数据库或其他代价较高的处理程序来建立。
官方网站 https://whirlycache.dev.java.net/

Jive Cache
  Jive论坛曾经是一个广受欢迎的开放源码的论坛项目,现在已经商业化了,它有很多值得我们学习的地方。jive 2.6.0 的缓存机制,把所要缓存的对象加到HashMap哈希映射表中,用两个LinkedListedlist双向链表分别维持着缓存对象和每个缓存对象的生命周期,如果一个缓存对象被访问到,那么就把它放到链表的最前面,然后不定时的把要缓存对象的对象加入链表中,把过期对象删除,如此反复。
官方网站 http://www.jivesoftware.com

OFBiz Cache
  OFBiz是一个非常著名的开源项目,提供了创建基于最新J2EE/XML规范和技术标准,构建大中型企业级、跨平台、跨数据库、跨应用服务器的多层、分布式电子商务类WEB应用系统的框架。 OFBiz最主要的特点是OFBiz提供了一整套的开发基于Java的web应用程序的组件和工具。包括实体引擎, 服务引擎, 消息引擎, 工作流引擎, 规则引擎等。Ofbiz与Jive实现的Cache类似,只是Ofbiz中根本都不关心每个对象的Size,只关心总体的HashMap的Size;Jive为了实现双向联表,而在Ofbiz中用的是java.util.LinkedList。
官方网站 http://www.ofbiz.org/

附:cache4j_perfomance_tester对几个常用Cache的性能测试报告:

  [java] ---------------------------------------------------------------
  [java] java.version=1.4.2_09
  [java] java.vm.name=Java HotSpot(TM) Client VM
  [java] java.vm.version=1.4.2-54
  [java] java.vm.info=mixed mode
  [java] java.vm.vendor="Apple Computer, Inc."
  [java] os.name=Mac OS X
  [java] os.version=10.4.5
  [java] os.arch=ppc
  [java] ---------------------------------------------------------------
  [java] This test can take about 5-10 minutes. Please wait ...
  [java] ---------------------------------------------------------------
  [java] |GetPutRemoveT |GetPutRemove |Get |
  [java] ---------------------------------------------------------------
  [java] cache4j 0.4 |9410 |9053 |5865 |
  [java] oscache 2.2 |28076 |30833 |8031 |
  [java] ehcache 1.2 |8753 |7072 |3479 |
  [java] jcs 1.2.7.0 |8806 |9522 |4097 |
  [java] ---------------------------------------------------------------
分享到:
评论

相关推荐

    Java项目HTTPDNSLib开源源码 Java项目HTTPDNSLib开源源码

    Java项目HTTPDNSLib开源源码Java项目HTTPDNSLib开源源码Java项目HTTPDNSLib开源源码Java项目HTTPDNSLib开源源码Java项目HTTPDNSLib开源源码Java项目HTTPDNSLib开源源码Java项目HTTPDNSLib开源源码Java项目HTTPDNSLib...

    Cache的特性和工作原理.docx

    本文提到了一些知名的Java Cache开源项目,例如: - **memcached**:一个基于Client-Server架构的分布式内存对象缓存系统,采用简单的Key-Value存储方式,适用于共享无状态架构,数据只存在单个服务器的内存中,避免...

    JAVA上百实例源码以及开源项目源代码

    日历表格面板 [ConfigLine.java] 控制条类 [RoundBox.java] 限定选择控件 [MonthMaker.java] 月份表算法类 [Pallet.java] 调色板,统一配色类 Java扫雷源码 Java生成自定义控件源代码 2个目标文件 Java实现HTTP连接...

    java开源包9

    Cleo 是一个灵活的软件库用于处理一些预输入和自动完成的搜索功能,该项目是 LinkedIn 公司的开源项目。 SwingSet 增强现实标记跟踪软件库 AccuTag AccuTag是AR(增强现实)标记跟踪软件库。它利用GPGPU的快速和...

    java开源包10

    Cleo 是一个灵活的软件库用于处理一些预输入和自动完成的搜索功能,该项目是 LinkedIn 公司的开源项目。 SwingSet 增强现实标记跟踪软件库 AccuTag AccuTag是AR(增强现实)标记跟踪软件库。它利用GPGPU的快速和...

    java开源包8

    Cleo 是一个灵活的软件库用于处理一些预输入和自动完成的搜索功能,该项目是 LinkedIn 公司的开源项目。 SwingSet 增强现实标记跟踪软件库 AccuTag AccuTag是AR(增强现实)标记跟踪软件库。它利用GPGPU的快速和...

    java开源包6

    Cleo 是一个灵活的软件库用于处理一些预输入和自动完成的搜索功能,该项目是 LinkedIn 公司的开源项目。 SwingSet 增强现实标记跟踪软件库 AccuTag AccuTag是AR(增强现实)标记跟踪软件库。它利用GPGPU的快速和...

    java cache 简单应用

    3. **Ehcache**:Ehcache是一款广泛使用的开源Java缓存解决方案,支持内存和磁盘存储,具有线程安全、分布式缓存等功能。它可以与Spring框架无缝集成,非常适合大型项目。 4. **JCache (JSR-107)**:Java Caching ...

    java知识+ssm框架+开源项目+小程序的思维导图

    java知识:1、java简介,2、java主要特性,3、java发展历史..............18、java Number & Math 类..........27、java泛型,28、java...开源项目:spring-shiro-training 博客项目Tale思维导图 小程序知识的思维导图

    开源项目-goburrow-cache.zip

    开源项目-goburrow-cache.zip 是一个基于Go语言实现的本地缓存库,它受到了Google的Guava Cache的启发,旨在为Go开发者提供类似于Guava Cache的功能。Guava Cache是Java开发中的一个流行缓存解决方案,而goburrow-...

    开源项目-victorspringer-http-cache.zip

    【标题】"开源项目-victorspringer-http-cache.zip" 提供的是一个名为 victorspringer-http-cache 的开源中间件,专门针对 HTTP 缓存机制。这个项目旨在提高 web 应用程序的性能和响应速度,通过缓存 HTTP 响应来...

    cache2k, 轻量级,高性能的Java缓存.zip

    cache2k, 轻量级,高性能的Java缓存 cache2k缓存cache2k是内存高性能的Java缓存库。 Cache,String> cache = new Cache2kBuilder, String>

    Java中各类Cache机制实现解决方案

    **OSCache** 是一个功能强大的开源Java EE缓存框架。它可以用于缓存JSP页面、HTTP响应以及Java对象等,提供了一个完整的API(OSCache API)来支持缓存操作。OSCache的一个重要特性是可以支持昂贵对象的缓存,即那些...

    java开源包101

    Cleo 是一个灵活的软件库用于处理一些预输入和自动完成的搜索功能,该项目是 LinkedIn 公司的开源项目。 SwingSet 增强现实标记跟踪软件库 AccuTag AccuTag是AR(增强现实)标记跟踪软件库。它利用GPGPU的快速和...

    java开源包4

    Cleo 是一个灵活的软件库用于处理一些预输入和自动完成的搜索功能,该项目是 LinkedIn 公司的开源项目。 SwingSet 增强现实标记跟踪软件库 AccuTag AccuTag是AR(增强现实)标记跟踪软件库。它利用GPGPU的快速和...

    java开源包5

    Cleo 是一个灵活的软件库用于处理一些预输入和自动完成的搜索功能,该项目是 LinkedIn 公司的开源项目。 SwingSet 增强现实标记跟踪软件库 AccuTag AccuTag是AR(增强现实)标记跟踪软件库。它利用GPGPU的快速和...

    如何基于LoadingCache实现Java本地缓存

    Guava 是 Google 开源的一套工具库,其中提供的 cache 模块非常方便,是一种与 ConcurrentMap 相似的缓存 Map。Guava cache 模块提供了许多有用的特性,如自动加载、缓存池大小限制、缓存项过期时间设置、缓存项移除...

    开源项目-go-cache-cache.zip

    开源项目-go-cache-cache.zip是一个基于Go语言的内存缓存库,名为`go-cache`。这个库主要用于在应用程序中实现高效、轻量级的内存数据存储,以提高性能和响应速度。Go-cache的设计灵感可能来自于其他编程语言中的...

Global site tag (gtag.js) - Google Analytics