Java 缓存框架,Ehcache 3.0.0.m4 发布

jopen 8年前

EhCache 是一个纯 Java 的进程内缓存框架,具有快速、精干等特点

EhCache 的主要特性有:

  1. 快速;
  2. 简单;
  3. 多种缓存策略;
  4. 缓存数据有两级:内存和磁盘,因此无需担心容量问题;
  5. 缓存数据会在虚拟机重启的过程中写入磁盘;
  6. 可以通过 RMI、可插入 API 等方式进行分布式缓存;
  7. 具有缓存和缓存管理器的侦听接口;
  8. 支持多缓存管理器实例,以及一个实例的多个缓存区域;
  9. 提供 Hibernate 的缓存实现;
  10. 等等 …

由于 EhCache 是进程中的缓存系统,一旦将应用部署在集群环境中,每一个节点维护各自的缓存数据,当某个节点对缓存数据进行更新,这些更新的数据无法在其它节点中共享,这不仅会降低节点运行的效率,而且会导致数据不同步的情况发生。例如某个网站采用 A、B 两个节点作为集群部署,当 A 节点的缓存更新后,而 B 节点缓存尚未更新就可能出现用户在浏览页面的时候,一会是更新后的数据,一会是尚未更新的数据,尽管我们也可以通过 Session Sticky 技术来将用户锁定在某个节点上,但对于一些交互性比较强或者是非 Web 方式的系统来说,Session Sticky 显然不太适合。所以就需要用到 EhCache 的集群解决方案。

EhCache 从 1.7 版本开始,支持五种集群方案,分别是:

  • Terracotta
  • RMI
  • JMS
  • JGroups
  • EhCache Server

Ehcache 3.0.0.m4 发布,此版本有以下改进:

  • 简化和重构 write-behind 实现

  • 配置 Cache 时候可以传递 CacheLoaderWriter, Serializer 和 Copier 的实例

  • Handling of exceptions from user provided Expiry, EvictionVeto and EvictionPrioritizer,

  • OSGi readiness - that is the ehcache 3 jar carries valid bundle information in its manifest,

  • Fixes to tiering which would expose internal state,

  • Many more improvements and bug fixes

详细信息请查看发行页面:

https://github.com/ehcache/ehcache3/releases

下载地址如下: