1、什么是Ehcache
Ehcache是java的开源缓存框架,具有精干、快速等特点,是Hibernate中默认的CacheProvider。它主要面向通用缓存、Java EE和轻量级容器,具有内存和磁盘存储、缓存扩展、缓存加载器等处理程序。
2、Ehcache的主要特性
1.简单;
2.快速;
3.多种缓存策略;
4.缓存数据有两级:内存和磁盘,因此无需担心内存和容量的问题;
5.缓存数据会在虚拟机重启的过程中写入磁盘;
6.可以通过 RMI(和现在的RPC相似,RMI是java语言中jvm与jvm实现远程调用方式)、可插入 API 等方式进行分布式缓存;
7.提供 Hibernate 的缓存实现;
3、Ehcache使用介绍
Ehcache是用来管理缓存的一个工具,其缓存的数据可以是存放在内存里面的,也可以是存放在硬盘上的。其核心是CacheManager,一切Ehcache的应用都是从CacheManager开始的。它是用来管理Cache(缓存)的,一个应用可以有多个CacheManager,而一个CacheManager下又可以有多个Cache。Cache内部保存的是一个个的Element,而一个Element中保存的是一个key和value的配对,相当于Map里面的一个Entry。
4、Ehcache缓存过期策略
当缓存需要被清理时(比如空间占用已经接近临界值了),需要使用某种淘汰算法来决定清理掉哪些数据。常用的淘汰算法有下面几种:
LFU:Least Frequently Used,最不经常使用。在一段时间内,数据被使用次数最少的,优先被淘汰。
FIFO:First In First Out,先进先出。判断被存储的时间,离目前最远的数据优先被淘汰。
LRU:Least Recently Used,最近最少使用。判断最近被使用的时间,目前最远的数据优先被淘汰。