`

java缓存框架

 
阅读更多

Java缓存框架
说说我用过的:
1.oscache
2.whirlycache
比较:
1.应用场景:
  缓存应不应该用硬盘。
  缓存的存取策略。

INFO: Size: 176; Questions: 525; Hits: 126; Adaptive r/w ratio: 5%; Total hitrate: 24%
Dec 17, 2008 10:02:53 AM com.whirlycott.cache.CacheDecorator logStatistics
INFO: Size: 278; Questions: 869; Hits: 232; Adaptive r/w ratio: 9%; Total hitrate: 27%
Dec 17, 2008 10:03:23 AM com.whirlycott.cache.CacheDecorator logStatistics
INFO: Size: 414; Questions: 1,242; Hits: 358; Adaptive r/w ratio: 13%; Total hitrate: 29%
Dec 17, 2008 10:03:53 AM com.whirlycott.cache.CacheDecorator logStatistics
INFO: Size: 514; Questions: 1,601; Hits: 476; Adaptive r/w ratio: 17%; Total hitrate: 30%
Dec 17, 2008 10:04:23 AM com.whirlycott.cache.CacheDecorator logStatistics
INFO: Size: 594; Questions: 1,894; Hits: 578; Adaptive r/w ratio: 21%; Total hitrate: 31%
Dec 17, 2008 10:04:53 AM com.whirlycott.cache.CacheDecorator logStatistics
INFO: Size: 704; Questions: 2,226; Hits: 682; Adaptive r/w ratio: 24%; Total hitrate: 31%
Dec 17, 2008 10:05:23 AM com.whirlycott.cache.CacheDecorator logStatistics
INFO: Size: 797; Questions: 2,661; Hits: 911; Adaptive r/w ratio: 30%; Total hitrate: 34%

我的经验,如果你只缓存java对象,而且只在内存中缓存。whirlycache 挺好的
如果你要缓存动态页面,或是缓存特多,要用到硬盘,可以考虑一下
oscache 或是  Ehcache
以下是摘录
JBossCache/TreeCache JBossCache 是一个复制的事务处理缓存,它允许你缓存企业级应用数据来更好的改善性能。缓存数据被自动复制,让你轻松进行Jboss服务器之间的集群工作。 JBossCache能够通过Jboss应用服务或其他J2EE容器来运行一个Mbean服务,当然,它也能独立运行。 JBossCache包括两个模块:TreeCache和TreeCacheAOP。 TreeCache --是一个树形结构复制的事务处理缓存。 TreeCacheAOP --是一个“面向对象”缓存,它使用AOP来动态管理POJO
更多JBossCache/TreeCache信息

OSCache OSCache 标记库由OpenSymphony设计,它是一种开创性的JSP定制标记应用,提供了在现有JSP页面之内实现快速内存缓冲的功能。OSCache是个一 个广泛采用的高性能的J2EE缓存框架,OSCache能用于任何Java应用程序的普通的缓存解决方案。OSCache有以下特点:缓存任何对象,你可 以不受限制的缓存部分jsp页面或HTTP请求,任何java对象都可以缓存。拥有全面的API--OSCache API给你全面的程序来控制所有的OSCache特性。永久缓存--缓存能随意的写入硬盘,因此允许昂贵的创建(expensive-to- create)数据来保持缓存,甚至能让应用重启。支持集群--集群缓存数据能被单个的进行参数配置,不需要修改代码。缓存记录的过期--你可以有最大限 度的控制缓存对象的过期,包括可插入式的刷新策略(如果默认性能不需要时)。
更多OSCache信息

JCACHE JCACHE 是一种即将公布的标准规范(JSR 107),说明了一种对Java对象临时在内存中进行缓存的方法,包括对象的创建、共享访问、假脱机(spooling)、失效、各JVM的一致性等。它 可被用于缓存JSP内最经常读取的数据,如产品目录和价格列表。利用JCACHE,多数查询的反应时间会因为有缓存的数据而加快(内部测试表明反应时间大 约快15倍)。
更多JCACHE信息

Ehcache Ehcache出自Hibernate,在Hibernate中使用它作为数据缓存的解决方案。
更多Ehcache信息

Java Caching System JCS是Jakarta的项目Turbine的子项目。它是一个复合式的缓冲工具。可以将对象缓冲到内存、硬盘。具有缓冲对象时间过期设定。还可以通过 JCS构建具有缓冲的分布式构架,以实现高性能的应用。 对于一些需要频繁访问而每访问一次都非常消耗资源的对象,可以临时存放在缓冲区中,这样可以提高服务的性能。而JCS正是一个很好的缓冲工具。缓冲工具对 于读操作远远多于写操作的应用性能提高非常显著。
更多Java Caching System信息

SwarmCache SwarmCache是一个简单而功能强大的分布式缓存机制。它使用IP组播来有效地在缓存的实例之间进行通信。它是快速提高集群式Web应用程序的性能的理想选择。
更多SwarmCache信息

ShiftOne ShiftOne Object Cache这个Java库提供了基本的对象缓存能力。实现的策略有先进先出(FIFO),最近使用(LRU),最不常使用(LFU)。所有的策略可以最大化元素的大小,最大化其生存时间。
更多ShiftOne信息

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

Jofti Jofti可对在缓存层中(支持EHCache,JBossCache和OSCache)的对象或在支持Map接口的存储结构中的对象进行索引与搜索。这个框架还为对象在索引中的增删改提供透明的功能同样也为搜索提供易于使用的查询功能。
更多Jofti信息

cache4j cache4j 是一个有简单API与实现快速的Java对象缓存。它的特性包括:在内存中进行缓存,设计用于多线程环境,两种实现:同步与阻塞,多种缓存清除策略: LFU, LRU, FIFO,可使用强引用(strong reference)与软引用(soft reference)存储对象。
更多cache4j信息

Open Terracotta 一个JVM级的开源群集框架,提供:HTTP Session复制,分布式缓存,POJO群集,跨越群集的JVM来实现分布式应用程序协调(采用代码注入的方式,所以你不需要修改任何)。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics