一、介绍
EhCache是一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认的CacheProvider。Ehcache是一种广泛使用的开源Java分布式缓存,主要面向通用缓存JavaEE和轻量级容器,它具有内存和磁盘存储,缓存加载器,缓存扩展,缓存异常处理程序等特点。
二、特性
1.灵活性
EhCache具备对象api接口和可序列化api接口,不能序列化的对象可以使用出磁盘存储外EhCache的所有功能,支持基于Cache和基于Element的过期策略,每个Cache的存活时间都是可以设置和控制的,提供了LRU、LFU和FIFO缓存淘汰算法,提供内存和磁盘存储,EhCache和大多数缓存解决方案一样,提供高性能的内存和磁盘存储,动态、运行时缓存配置、存活时间、空闲空间、内存和磁盘存放缓存的最大数目都是可以再运行时修改;
2.应用持久化
在JVM重启后,持久化到磁盘的存储可以复原数据,EhCache是第一个引入缓存数据持久化存储的开源java缓存框架,缓存的数据可以在机器重启后从磁盘上重新获得,根据需要将缓存刷到磁盘,将缓存目条刷到磁盘的操作可以通过cache.flush方法执行,这大大方便了EhCache的使用;
三、EhCache和redis比较
EhCache直接在jvm虚拟机中缓存,速度快,效率高;但是缓存共享麻烦,集群分布式应用不方便;
redis是通过socket访问到缓存服务,效率比EhCache低,比数据库要快很多,处理集群和分布式缓存方法,有成熟的方案;
四、Demo
1.依赖
2.XML配置文件,放在resources下
3.application.yml
4.启动类上加开启缓存注解
5.service类
6.controller类
7.控制台
第一次会出现hhhh,因为没缓存,之后的结果都缓存起来,因此不会再出现hhhh
五、配置JMX监控
启动VisualVM