EHCache介绍

合集下载

Ehcache 2 缓存区配置详解

Ehcache 2 缓存区配置详解

Ehcache 2 缓存区配置详解第1章Ehcache简介EhCache是一个开放源码的,基于标准的高速缓存系统。

Ehcache可以显著提高应用性能,降低数据库负载,简化应用扩展。

Ehcache健壮、功能齐全,也历经了众多应用考验,使得它成为使用最广泛的基于Java的缓存系统。

Ehcache可以支持从进程内的一个或多个节点的部署方式到进程内与进程外混合、高达TB 大小的高速缓存。

Ehcache目前由Terracotta公司维护,使用Apache 2 许可证。

Ehcache截止目前最新版本为2.6。

支持多种方式缓存:●Standalone模式。

嵌入应用进程内。

单点,多节点间无沟通。

●Replication模式。

嵌入应用内部,通过RMI或JGroup或JMS进行节点同步。

●Cache Server模式。

作为独立缓存服务器,提供REST与WebService接口供访问。

●Distributed Caching模式。

采用Terracotta Server Array实现高可用的分布式缓存。

Standalone与Replication均是较传统的使用方式,很多场景下难以满足动态基础设施环境下应用弹性的要求。

Cache Server使得缓存服务可以容易的进行水平扩展,但是基于REST与WebService的访问方式降低了缓存访问的效率,不太适合对缓存实时性要求较高的场景。

Distributed Caching模式提供了进程内与进程间缓存较理想的结合模式,支持水平扩展,高可用,对网络依赖程度较低,可以很好适应应用弹性伸缩,是动态基础设施条件下较理想的缓存模式。

第2章Ehcache 2 缓存区配置Ehcache默认配置文件在Ehcache客户端的classpath根目录下,名为ehcache.xml。

典型的配置文件如下:<?xml version="1.0" encoding="UTF-8"?><ehcache xmlns:xsi="/2001/XMLSchema-instance"xsi:noNamespaceSchemaLocation="ehcache.xsd"updateCheck="false" monitoring="autodetect"dynamicConfig="true" name="example"><defaultCachemaxElementsInMemory="10000"eternal="false"timeToIdleSeconds="120"timeToLiveSeconds="120"overflowToDisk="true"diskSpoolBufferSizeMB="30"maxElementsOnDisk="10000000"diskPersistent="false"diskExpiryThreadIntervalSeconds="120"memoryStoreEvictionPolicy="LRU"/><cache name="colors"maxElementsInMemory="100"maxElementsOnDisk="0"eternal="false"timeToIdleSeconds="120"timeToLiveSeconds="0"memoryStoreEvictionPolicy="LFU"><terracotta/></cache><terracottaConfig url="localhost:9510"/></ehcache>缓存区使用<cache/>标签进行配置,主要属性以及意义如下:⏹name(必填属性):缓存区名称,用以区别缓存区,必须唯一。

ehcache介绍

ehcache介绍

一、简介ehcache 是一个非常轻量级的缓存实现,而且从1.2 之后就支持了集群,而且是hibernate 默认的缓存provider 。

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

Ehcache可以直接使用。

也可以和Hibernate对象/关系框架结合使用。

还可以做Servlet缓存。

Cache 存储方式:内存或磁盘。

官方网站:/主要特性1. 快速.2. 简单.3. 多种缓存策略4. 缓存数据有两级:内存和磁盘,因此无需担心容量问题5. 缓存数据会在虚拟机重启的过程中写入磁盘6. 可以通过RMI、可插入API等方式进行分布式缓存7. 具有缓存和缓存管理器的侦听接口8. 支持多缓存管理器实例,以及一个实例的多个缓存区域9. 提供Hibernate的缓存实现二、快速上手1、项目类库中添加ehcache.jar;2、在类路径下编写ehcache.xml配置文件。

三、配置文件参数详解ehcache.xml是ehcache的配置文件,并且存放在应用的classpath中。

下面是对该XML文件中的一些元素及其属性的相关说明:<diskStore>元素:指定一个文件目录,当EHCache把数据写到硬盘上时,将把数据写到这个文件目录下。

下面的参数这样解释:user.home –用户主目录user.dir –用户当前工作目录java.io.tmpdir –默认临时文件路径<defaultCache>元素:设定缓存的默认数据过期策略。

<cache>元素:设定具体的命名缓存的数据过期策略。

<cache>元素的属性name:缓存名称。

通常为缓存对象的类名(非严格标准)。

maxElementsInMemory:设置基于内存的缓存可存放对象的最大数目。

maxElementsOnDisk:设置基于硬盘的缓存可存放对象的最大数目。

8种缓存框架介绍

8种缓存框架介绍

8种缓存框架介绍缓存框架是一种用于存储和管理缓存数据的软件工具或库。

它们用于提高应用程序的性能,减少数据库或其他远程资源的访问次数。

在本文中,我们将介绍8种流行的缓存框架,包括Redis、Memcached、Ehcache、Guava Cache、Caffeine、Hazelcast、Infinispan和Apache Geode。

1. Redis: Redis是一个基于内存的缓存框架,提供了丰富的数据结构和灵活的功能,包括缓存、消息队列和数据持久化。

Redis的性能出色,并且具有高可用性和扩展性。

2. Memcached: Memcached是另一个流行的基于内存的缓存框架,广泛用于提高Web应用程序的性能。

它具有简单的架构和易于使用的API。

Memcached可以在多台服务器上进行水平扩展,以提供更高的负载能力。

3. Ehcache: Ehcache是一个Java缓存框架,可以用于将缓存添加到应用程序中。

它具有简单易用的API,并提供了多种缓存策略,如LRU (最近最少使用)和FIFO(先进先出)。

Ehcache还支持磁盘持久化和分布式缓存。

4. Guava Cache: Guava Cache是Google开发的一个轻量级缓存库,可以在本地JVM中实现缓存功能。

它具有内存敏感的淘汰策略和异步加载机制,可以优化资源利用和应用程序响应时间。

5. Caffeine: Caffeine是另一个基于本地内存的缓存库,由Google开发。

它被设计为高性能、无锁的缓存框架,并且具有比Guava Cache更高的吞吐量和更低的延迟。

6. Hazelcast: Hazelcast是一个分布式缓存框架和数据网格,可以在多个服务器上共享缓存数据。

它提供了分布式数据结构和分布式计算功能,并支持高可用性和容错性。

7. Infinispan: Infinispan是另一个开源的分布式缓存框架,用于构建高性能和高可靠性的应用程序。

ehcache、memcache、redis三大缓存比较

ehcache、memcache、redis三大缓存比较

ehcache、memcache、redis三⼤缓存⽐较最近项⽬组有⽤到这三个缓存,去各⾃的官⽅看了下,觉得还真的各有千秋!今天特意归纳下各个缓存的优缺点,仅供参考!Ehcache在项⽬⼴泛的使⽤。

它是⼀个开源的、设计于提⾼在数据从RDBMS中取出来的⾼花费、⾼延迟采取的⼀种缓存⽅案。

正因为Ehcache具有健壮性(基于java开发)、被认证(具有apache 2.0license)、充满特⾊(稍后会详细介绍),所以被⽤于⼤型复杂分布式web application的各个节点中。

什么特⾊?1. 够快Ehcache的发⾏有⼀段时长了,经过⼏年的努⼒和不计其数的性能,Ehcache终被设计于large, high concurrency systems.2. 够简单开发者提供的接⼝⾮常简单明了,从Ehcache的搭建到运⽤运⾏仅仅需要的是你宝贵的⼏分钟。

其实很多开发者都不知道⾃⼰⽤在⽤Ehcache,Ehcache被⼴泛的运⽤于其他的开源项⽬⽐如:3.够袖珍关于这点的特性,官⽅给了⼀个很可爱的名字small foot print ,⼀般Ehcache的发布版本不会到2M,V 2.2.3 才 668KB。

4. 够轻量核⼼程序仅仅依赖slf4j这⼀个包,没有之⼀!5.好扩展Ehcache提供了对的内存和硬盘的存储,最近版本允许多实例、保存对象⾼灵活性、提供LRU、LFU、FIFO淘汰,基础属性⽀持热配置、⽀持的插件多6.监听器缓存管理器监听器(CacheManagerListener)和缓存监听器(CacheEvenListener),做⼀些统计或数据⼀致性⼴播挺好⽤的如何使⽤?够简单就是Ehcache的⼀⼤特⾊,⾃然⽤起来just so easy!贴⼀段基本使⽤代码CacheManager manager = CacheManager.newInstance("src/config/ehcache.xml");Ehcache cache = new Cache("testCache", 5000, false, false, 5, 2);cacheManager.addCache(cache);name:缓存名称。

ehcache 磁盘缓存 默认路径

ehcache 磁盘缓存 默认路径

ehcache 磁盘缓存默认路径摘要:1.介绍ehcache2.磁盘缓存的作用3.默认路径的设置4.总结正文:Ehcache 是一款非常流行的Java 缓存框架,它可以帮助我们有效地提高系统的性能和响应速度。

在Ehcache 中,磁盘缓存是一个非常重要的功能,它能够将缓存数据持久化到磁盘,从而在系统重启时能够快速地加载缓存数据。

而默认路径的设置则决定了磁盘缓存文件存储的位置。

首先,我们来了解一下Ehcache。

Ehcache 是一个开源的、可嵌入的、高性能的Java 缓存框架,它提供了多种缓存策略,如LRU(最近最少使用)、LFU(最不经常使用)等。

通过使用Ehcache,我们可以轻松地实现对数据的缓存,从而降低系统对数据库的访问次数,提高系统的性能。

接下来,我们来看一下磁盘缓存的作用。

在实际应用中,有时候我们需要将缓存数据持久化到磁盘,以便在系统重启时能够快速地加载缓存数据。

例如,当我们的系统需要运行一段时间后才能获取到完整的数据时,我们可以使用磁盘缓存将这些数据保存下来,以便下次运行时能够快速地加载。

这样,就可以避免重复计算或查询数据库,从而提高系统的响应速度。

然后,我们来看一下默认路径的设置。

默认情况下,Ehcache 会将磁盘缓存文件存储在项目的工作目录下。

但是,有时候我们需要将磁盘缓存文件存储在其他路径,以便更好地管理缓存文件。

这时,我们可以通过设置Ehcache 的配置文件来实现。

具体来说,我们可以在ehcache.xml 配置文件中设置`diskPersistent`和`diskExpiry`属性,从而指定磁盘缓存文件的存储路径和过期时间。

总结一下,Ehcache 是一款非常实用的Java 缓存框架,它可以帮助我们有效地提高系统的性能和响应速度。

在Ehcache 中,磁盘缓存是一个非常重要的功能,它能够将缓存数据持久化到磁盘,从而在系统重启时能够快速地加载缓存数据。

而默认路径的设置则决定了磁盘缓存文件存储的位置。

Java中的分布式缓存框架有哪些

Java中的分布式缓存框架有哪些

Java中的分布式缓存框架有哪些随着互联网应用的快速发展,分布式缓存已经成为了提高系统性能和扩展性的关键技术之一。

在Java开发领域,也涌现了许多优秀的分布式缓存框架。

本文将介绍几个Java中常用的分布式缓存框架,并分析它们的特点和适用场景。

一、EhcacheEhcache是一个开源的Java缓存框架,被广泛应用于各种Java应用中。

它提供了基于内存和磁盘的缓存机制,支持分布式部署,能够满足大规模应用的缓存需求。

Ehcache具有轻量级、易于使用和快速的特点,适合用于小型和中型的应用系统。

二、RedisRedis是一种高性能的内存数据存储系统,支持多种数据结构,可以用作分布式缓存的解决方案。

Redis提供了持久化和复制机制,可以实现高可用性和数据持久化。

同时,Redis还具有丰富的功能,如发布订阅、事务管理等,使得它不仅可以作为缓存系统,还可以用于其他用途,如消息队列等。

Redis适用于各种规模的应用系统。

三、MemcachedMemcached是一个简单的高性能分布式内存对象缓存系统。

它使用键值对的方式存储数据,提供了多种API,支持分布式部署。

Memcached具有高速的读写性能和可扩展性,通常被用于缓存数据库查询结果、页面内容等。

它适用于大规模应用和高并发场景,但需要注意的是,Memcached不提供数据持久化功能。

四、HazelcastHazelcast是一个基于Java的开源分布式缓存框架,它提供了分布式数据结构和集群管理功能。

Hazelcast采用了集中式架构,能够实现多节点之间的数据共享和同步。

它具有简单易用的特点,并提供了多种数据结构和并发算法的支持。

Hazelcast适用于构建复杂的分布式应用系统。

五、CaffeineCaffeine是一个在Java中最受欢迎的缓存库之一,它提供了高性能、无锁的内存缓存解决方案。

Caffeine采用了分片策略来管理缓存对象,提供了各种缓存策略和配置选项,可以根据实际需求进行灵活配置。

SpringBoot整合EhCache的步骤详解

SpringBoot整合EhCache的步骤详解

SpringBoot整合EhCache的步骤详解本⽂讲解Spring Boot与EhCache的整合。

1 EhCache简介EhCache 是⼀个纯Java的进程内缓存框架,具有快速、精⼲等特点,是Hibernate中默认CacheProvider。

Ehcache是⼀种⼴泛使⽤的开源Java分布式缓存。

主要⾯向通⽤缓存,Java EE和轻量级容器。

它具有内存和磁盘存储,缓存加载器,缓存扩展,缓存异常处理程序,⼀个gzip缓存servlet过滤器,⽀持REST和SOAP api等特点。

2 Spring Boot整合EhCache步骤 2.1 创建项⽬,导⼊依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="/POM/4.0.0"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/POM/4.0.0 /xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.yiidian</groupId><artifactId>ch03_10_springboot_ehcache</artifactId><version>1.0-SNAPSHOT</version><!-- 导⼊springboot⽗⼯程. 注意:任何的SpringBoot⼯程都必须有的 --><!-- ⽗⼯程的作⽤:锁定起步的依赖的版本号,并没有真正到依赖 --><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.1.11.RELEASE</version></parent><dependencies><!--web起步依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!--springboot 集成 junit 起步依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><version>2.1.6.RELEASE</version><scope>test</scope></dependency><!-- 缓存坐标 --><!-- https:///artifact/org.springframework.boot/spring-boot-starter-cache --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-cache</artifactId><version>2.1.11.RELEASE</version></dependency><!-- Ehcache⽀持 --><dependency><groupId>net.sf.ehcache</groupId><artifactId>ehcache</artifactId><version>2.10.6</version></dependency></dependencies></project>2.2 配置ehcache.xml在resources⽬录下建⽴ehcache.xml,内容如下:<ehcache xmlns:xsi="/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../config/ehcache.xsd"><diskStore path="java.io.tmpdir"/><!-- defaultCache:默认配置 --><defaultCachemaxElementsInMemory="10000"eternal="false"timeToIdleSeconds="120"timeToLiveSeconds="120"maxElementsOnDisk="10000000"diskExpiryThreadIntervalSeconds="120"memoryStoreEvictionPolicy="LRU"><persistence strategy="localTempSwap"/></defaultCache><!-- 缓存名称为customer的配置 --><cache name="customer"maxElementsInMemory="10000"eternal="false"timeToIdleSeconds="120"timeToLiveSeconds="120"maxElementsOnDisk="10000000"diskExpiryThreadIntervalSeconds="120"memoryStoreEvictionPolicy="LRU"><persistence strategy="localTempSwap"/></cache></ehcache>参数说明name 缓存名称maxElementsInMemory 缓存最⼤个数eternal 对象是否永久有效,⼀但设置了,timeout将不起作⽤timeToIdleSeconds 设置对象在失效前的允许闲置时间(单位:秒)。

ehcache基本原理

ehcache基本原理

ehcache基本原理Ehcache的类层次模型主要为三层,最上层的是CacheManager,他是操作Ehcache的⼊⼝。

我们可以通过CacheManag er.getInstance()获得⼀个单个的CacheManager,或者通过CacheManager的构造函数创建⼀个新的CacheManager。

每个Ca cheManager都管理着多个Cache。

⽽每个Cache都以⼀种类Hash的⽅式,关联着多个Elemenat。

⽽Element则是我们⽤于存放要缓存内容的地⽅。

ehcache的刷新策略ehcache的刷新策略是当缓存在放⼊的时候记录⼀个放⼊时间,它是⽤Lazy Evict的⽅式,在取的时候同设置的TTL⽐较ehcache缓存的3种清空策略:1 FIFO,先进先出2 LFU,最少被使⽤,缓存的元素有⼀个hit属性,hit值最⼩的将会被清出缓存。

3 LRU,最近最少使⽤的,缓存的元素有⼀个时间戳,当缓存容量满了,⽽⼜需要腾出地⽅来缓存新的元素的时候,那么现有缓存元素中时间戳离当前时间最远的元素将被清出缓存。

事件处理可以为CacheManager添加事件监听,当对CacheManager增删Cache时,事件处理器将会得到通知。

要配置事件处理,需要通过ehcache的配置⽂件来完成。

可以为Cache添加事件监听,当对Cache增删Element时,事件处理器将会得到通知。

要配置事件处理,需要通过ehcache的配置⽂件来完成。

ehcache参数配置:maxInMemory - 设定内存中创建对象的最⼤值。

eternal - 设置元素(译注:内存中对象)是否永久驻留。

如果是,将忽略超时限制且元素永不消亡。

timeToIdleSeconds - 设置某个元素消亡前的停顿时间。

也就是在⼀个元素消亡之前,两次访问时间的最⼤时间间隔值。

这只能在元素不是永久驻留时有效(译注:如果对象永恒不灭,则设置该属性也⽆⽤)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

EHCache介绍
简介
系统缓存是位于应用程序与物理数据源之间,用于临时存放复制数据的内存区域,目的是为了减少应用程序对物理数据源访问的次数,从而提高应用程序的运行性能. 缓存设想内存是有限的,缓存的时效性也是有限的,所以可以设定内存数量的大小,可以执行失效算法,可以在内存满了的时候,按照最少访问等算法将缓存直接移除或切换到硬盘上。

Ehcache从Hibernate发展而来,逐渐涵盖了Cahce界的全部功能,是目前发展势头最好的一个项目。

具有快速,简单,低消耗,依赖性小,扩展性强,支持对象或序列化缓存,支持缓存或元素的失效,提供LRU、LFU 和FIFO缓存策略,支持内存缓存和磁盘缓存,分布式缓存机制等等特点。

2009年8月Terracotta公司并购了开源缓存项目Ehcache, Terracotta 公司的产品 Terracotta 是一个 JVM 级的开源群集框架,提供 HTTP Session 复制、散布式缓存、POJO 群集、跨越集群的JVM 来完成散布式使用顺序协调。

并购后EhCache 首要的改进都集中在跟Terracotta 框架的集成上,这是一个真实意义上的企业级缓存处置方案。

Ehcache1.7版本上首次加入了ehcache-terracotta组件模块,想利用terracotta来实现更方便的集群操作。

Overview
Ehcache是一个开源的,用于提高访问性能的标准高速缓存,它抛弃了数据库同时易于扩展。

Ehcache拥用强大的,可靠和完整的功能,这已成为最广泛使用的基于Java的高速缓存。

Ehcache可以实现TB级的高速缓存管理,可配置多个缓存节点。

对于需要互联的分布式缓存应用,Ehcache的使用开源的Terracotta Sever的阵列。

Ehcache是Terracotta公司的一个长期开发、维护和支持的专业开源项目。

有效基于Apache 2 license。

除了开源的ehcache,Terracotta公司还提供企业版的Ehcache全天候的专业支持,咨询和培训。

Architecture
下图是系统的架框图和主要的API。

特点
高效且轻量级
快速
多年来,各种性能测试表明ehcache是java缓存中最快之一。

Ehcache的线程机制专门为大型、高并发的系统设计。

同时,大量测试表明ehcache各测试版和发行版都保持着高性能。

简单
很多用户都很难知道自己正在使用着ehcache,因为设置合理的默认值后无需初始配置。

API非常简单易于使用,你可能只需要几分钟就可以让他运行起来。

低消耗
他是一个只有几百KB的package。

依赖性小
核心使用的唯一的依赖是JCACHE的API
扩展性
为提供扩展到千兆字节,提供内存和磁盘存储。

可扩展到数百个缓存
适合多核CPU服务器上的高并发负载
每个虚拟机可创建多个CacheManager
灵活性
支持对象或序列化缓存
自Ehcache1.2后, 除序列化API外, 提供了对象API。

非序列化的
对象可以使用Ehcache中除DiskStore(磁盘存储)和复制之外的
所有部分。

如果尝试去存储或复制对象,一个警告级别的日
志消息会发出。

除了元素返回的方法(获取缓存元素,可理解
为数据)不同外,对象和序列化的API是一致的。

序列化和对
象API的唯一区别是对象元素上的两个新方法:
getObjectValue 和getKeyValue。

这使得初始使用对象缓存,
然后切换到序列化上变得相当容易。

也有很多的Java类未序
列化。

支持缓存范围或基于元素的过期策略
每个缓存的在线时间(在线意为处于活动状态,可提供缓存服务)
和下线时间(下线意为不可提供服务的状态)是可以设置的。


外,自Ehcache1.2.1后, 可以设置每个元素的时间配置来覆盖缓存中的配置。

提供LRU、LFU和FIFO缓存策略
支持内存缓存和磁盘缓存
支持动态,运行时的缓存配置
基于标准
完全实现JSR107 JCACHE API
Ehcache提供了至今为止的JSR107 JCACHE 标准的最完整实现。

因为JCACHE还没有发布JCACHE API,Ehcache发布net.sf.jsr107cache,并提供实现。

扩展性
可插入监听器
Ehcache 1.2提供CacheManagerEventListener和CacheEventListener 接口。

实现接口可以实现ehcache.xml中对插入的配置。

插件式查询、克隆和监测
插件式缓存扩展
插件式缓存异常处理
持久化应用
持久化磁盘存储JVM重启期数据。

2004年Ehcache 1,第一个开源版本中,引入了将程序关闭后缓存数据持久化存储的功能。

VM重启时,持久化存储到存储数据的磁盘, 当应用启动时,缓存数据可以使用。

需要时Flush到磁盘(通过调用cache.flush()方法)
支持监听
CacheManager监听
通过CacheManagerEventListener接口注册CacheManager 监听器,实现如下事件方法:
notifyCacheAdded() 缓存被添加时监听器会得到通知notifyCacheRemoved() 缓存被移除时监听器会得到通知缓存事件监听
通过CacheEventListener 接口注册缓存事件监听器, 此接口提供很多缓存事件处理后的事件通知:
notifyElementRemoved 元素被移除时监听器会得到通知notifyElementPut 元素被添加时监听器会得到通知notifyElementUpdated 元素被更新时监听器会得到通知notifyElementExpired 元素被过期时监听器会得到通知
JMX支持
支持JMX(Java Management Extensions)。

你可以监视和管理以下的MBean:
CacheManagCacheManager
CacheCache
CacheConfigurationCacheConfiguration CacheStatistCacheStatistics
分布式缓存
自Ehcache1.2后,全面支持高性能、灵活、可扩展的分布式缓存。

分布式缓存包含的选项:
通过Terracotta使用集群缓存:在Ehcache中安装和使用
Terracotta 只需要两行必须的配置. 缓存发现是自动的,为调整
缓存行为和性能提供很多选项。

通过RMI, JGroups, 或JMS复制缓存: 通过多点传送(MultiCast)
或手动配置实现缓存发现。

更新通过习惯的同步或异步RMI
连接。

自定义: 为自定义发现和复制实现提供了插件机制。

使用Terracotta 提供集群缓存
简单然而强大的集群缓存,只需要提供两行必须的配置。

通过RMI, JGroups或JMS复制缓存
无需编程便可使用复制。

只需要在ehcache.xml中配置, 可用
的复制选项:
Ehcache 1.6+ 支持通过RMI, JGroups, 和 JMS复制
适当时候对于每个缓存异步或同步的复制.
适当时候对于每个缓存复制或使其无效.
可靠投递
内建的投递机制使用TCP连接之上的RMI,不是UDP(广播,不
可靠)。

同伴发现
同伴发现可以是手动配置也可以是使用多点传送(MultiCast)
自动发现。

多点传送简单,添加和移除同伴都是自动化的。

手动配置提供更好的控制,它在多点传送被阻塞时使用。

可扩展
为自定义发现和复制实现提供了插件机制。

自力更生
分布式缓存在不同的时间进入和离开集群。

当缓存第一次初始化时,可以被配置成在集群中自管自己。

一个BootstrapCacheLoader 接口的实现类BootstrapCacheLoaderFactory(抽象工厂)提供基于RMI的默认实现。

Distributed caches enter and leave the cluster at different times.
缓存服务器
RESTful缓存服务
SOAP缓存服务
作为一个WAR(Web Archive file网络应用程序文件) 或完全缓存服务器
Java EE高速缓存
高速缓存拦截机制避免并发操作的重复处理
为耗时操作提供自我缓存
Java EE Gzip Servlet过滤
指令集缓存
兼容Hibernate
高品质
高覆盖率测试
自动化负载、边界、性能系统测试
产品级测试
完整的文档
Popular框架组织信赖
向下兼容
公开所以历史Bug信息
支持重大Bug及时响应
开放源码证书
Apache2.0许可证。

相关文档
最新文档