Ehcache是现在最流行的纯Java开源缓存框架.docx

Ehcache是现在最流行的纯Java开源缓存框架.docx

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Ehcache是现在最流行的纯Java开源缓存框架

Ehcache是现在最流行的纯Java开源缓存框架2014-12-22 13:28?37723人阅读?评论(0)?收藏?举报?分类:java(405)?Ehcache是现在最流行的纯Java开源缓存框架,配置简单、结构清晰、功能强大,最初知道它,是从hibernate的缓存开始的。网上中文的EhCache材料以简单介绍和配置方法居多,如果你有这方面的问题,请自行google;对于API,官网上介绍已经非常清楚,请参见官网;但是很少见到特性说明和对实现原理的分析,因此在这篇文章里面,我会详细介绍和分析EhCache的特性,加上一些自己的理解和思考,希望对缓存感兴趣的朋友有所收获。?一、特性一览,来自官网,简单翻译一下:?1、快速轻量过去几年,诸多测试表明Ehcache是最快的Java缓存之一。Ehcache的线程机制是为大型高并发系统设计的。大量性能测试用例保证Ehcache在不同版本间性能表现得一致性。很多用户都不知道他们正在用Ehcache,因为不需要什么特别的配置。API易于使用,这就很容易部署上线和运行。很小的jar包,Ehcache 2.2.3才668kb。最小的依赖:唯一的依赖就是SLF4J了。2、伸缩性缓存在内存和磁盘存储可以伸缩到数G,Ehcache为大数据存储做过优化。大内存的情况下,所有进程可以支持数百G的吞吐。为高并发和大型多CPU服务器做优化。线程安全和性能总是一对矛盾,Ehcache的线程机制设计采用了Doug Lea的想法来获得较高的性能。单台虚拟机上支持多缓存管理器。通过Terracotta服务器矩阵,可以伸缩到数百个节点。3、灵活性Ehcache 1.2具备对象API接口和可序列化API接口。不能序列化的对象可以使用除磁盘存储外Ehcache的所有功能。除了元素的返回方法以外,API都是统一的。只有这两个方法不一致:getObjectValue和getKeyValue。这就使得缓存对象、序列化对象来获取新的特性这个过程很简单。支持基于Cache和基于Element的过期策略,每个Cache的存活时间都是可以设置和控制的。提供了LRU、LFU和FIFO缓存淘汰算法,Ehcache 1.2引入了最少使用和先进先出缓存淘汰算法,构成了完整的缓存淘汰算法。提供内存和磁盘存储,Ehcache和大多数缓存解决方案一样,提供高性能的内存和磁盘存储。动态、运行时缓存配置,存活时间、空闲时间、内存和磁盘存放缓存的最大数目都是可以在运行时修改的。4、标准支持Ehcache提供了对JSR107 JCACHE API最完整的实现。因为JCACHE在发布以前,Ehcache的实现(如net.sf.jsr107cache)已经发布了。实现JCACHE API有利于到未来其他缓存解决方案的可移植性。Ehcache的维护者Greg Luck,正是JSR107的专家委员会委员。5、可扩展性监听器可以插件化。Ehcache 1.2提供了CacheManagerEventListener和CacheEventListener接口,实现可以插件化,并且可以在ehcache.xml里配置。节点发现,冗余器和监听器都可以插件化。分布式缓存,从Ehcache 1.2开始引入,包含了一些权衡的选项。Ehcache的团队相信没有什么是万能的配置。实现者可以使用内建的机制或者完全自己实现,因为有完整的插件开发指南。缓存的可扩展性可以插件化。创建你自己的缓存扩展,它可以持有一个缓存的引用,并且绑定在缓存的生命周期内。缓存加载器可以插件化。创建你自己的缓存加载器,可以使用一些异步方法来加载数据到缓存里面。缓存异常处理器可以插件化。创建一个异常处理器,在异常发生的时候,可以执行某些特定操作。6、应用持久化在VM重启后,持久化到磁盘的存储可以复原数据。Ehcache是第一个引入缓存数据持久化存储的开源Java缓存框架。缓存的数据可以在机器重启后从磁盘上重新获得。根据需要将缓存刷到磁盘。将缓存条目刷到磁盘的操作可以通过cache.flush()方法来执行,这大大方便了Ehcache的使用。7、监听器缓存管理器监听器。允许注册实现了CacheManagerEventListener接口的监听器:notifyCacheAdded()notifyCacheRemoved()缓存事件监听器。允许注册实现了CacheEventListener接口的监听器,它提供了许多对缓存事件发生后的处理机制:notifyElementRemoved/Put/Updated/Expired?8、开启JMXEhcache的JMX功能是默认开启的,你可以监控和管理如下的MBean:CacheManager、Cache、CacheConfiguration、CacheStatistics?

您可能关注的文档

文档评论(0)

haihang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档