Ehcache 概述、特点、架构

Ehcache 概述

Ehcache是一个用Java实现的使用简单、高速、线程安全的缓存管理类库,其提供了用内存、磁盘文件存储,以及分布式存储等多种灵活的管理方案。
同时Ehcache作为开放源代码项目,采用限制比较宽松的ApacheLicense V2.0作为授权方式,被广泛地用于Hibernate、Spring、Cocoon等其他开源系统。
Ehcache从Hibernate发展而来,逐渐涵盖了全部功能,是目前发展势头很好的一个项目。
Ehcache具有快速、简单、低消耗、依赖性小、扩展性强、支持对象或序列化缓存、支持缓存或元素的失效、提供LRU/LFU/FIFO缓存策略、支持内存缓存及磁盘缓存、采用分布式缓存机制等特点。

Ehcache 特点

  • 快速,简单。在过去众多的测试中已经表明Ehcache是最快的Java缓存之一,Ehcache的线程机制是为大型高并发系统设计的, 而且很多用户都不知道他们正在使用Ehcache, 也可以看出使用Ehcache不需要什么复杂的配置, Ehcache的API也易于使用, 很容易部署上线和运行。
  • 多种缓存策略。提供LRU、LFU和FIFO缓存策略。Ehcache支持基于Cache和基于 Element 的过期策略,每个Cache 的存活时间都是可以设置和控制的。Ehcache 提供了LRU 、 LFU 和 FIFO 缓存淘汰算法,在 Ehcaehe 1.2 引入了最少使用和先进先出缓存淘汰算 法,构成了完整的缓存淘汰算法。
  • 缓存数据有两级。内存和磁盘,因此无须担心容量问题。缓存在内存和硬盘存储可 以伸缩到 GB, Ehcache 为大数据存储做过优化。在大内存的情况下,所有进程可以支持数 百 GB 的吞吐,在单台虚拟机上可以支持多缓存管理器,还可以通过 Terracotta 服务器矩阵 伸缩到数百个节点。
  • 缓存数据会在虚拟机重启的过程中写入磁盘。 Ehcache 是第 个引入缓存数据持久化存储的开源 Java 缓存框架,缓存的数据可以在机器重启后从磁盘上重新获得,可以根据 需要使用 cache.flush 方法将缓存刷到磁盘上面,极大地方便了 Ehcache 的使用。
  • 可以通过 RMI 、可插入 API 等方式进行分布式缓存。分布式缓存的选项包括:
    通过 Terracotta 的缓存集群:缓存发现是自动完成的,并且有很多选项可以用来调
    试缓存行为和性能。
    使用 RMI、 JGroups 或者 JMS来冗余缓存数据:节点可以通过多播或发现者手动配。
    置。状态更新可以通过 RMI 连接来异步或者同步完成。
    可靠的分发:使用 TCP 的内建分发机制。
    缓存 API: 支持 RESTFUL 和 SOAP 二种协议,没有语言限制。
  • 具有缓存和缓存管理器的侦听接口。
    缓存管理器监听器:允许注册实现了 CacheManagerEventListener 接口的监听器,方法分别是 notifyCacheAdded() 和 notifyCacheRemoved()。
    缓存事件监听器:允许注册实现了 CacheEventListener 接口的监听器,它提供了许 多对缓存事件发生后的处理机制, notifyElementRemoved/Put/U pdated/Expired。
  • 提供 Hibernate 的缓存实现。 Hibernate 默认二级缓存是不启动的,启动二级缓存通
    过采用 Ehcache 来实现。

Ehcache 架构

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值