Ehcache 是现在最流行的纯Java开源缓存框架,配置简单、结构清晰、功能强大,最初知道它,是从Hibernate的缓存开始的。Ehcache 3.0是一个里程碑式的版本;
这个新的主要版本的Ehcache提供以下
- 修改缓存API,利用Java泛型和简化了交互,
- 全面兼容javax。 缓存API(jsr - 107),
- Offheap存储功能,包括Offheap只缓存,
- Ehcache 2.倍提高性能,
- 开箱即用的春天由于javax缓存集成。 缓存的支持,
缓存管理
与之前版本相比,3.0主要是通过
CacheManager
我们先从hello Ehcache来讲解一下
import ;
import ;
import ;
import ;
import ;
/**
*
* @Filename:
* @Description:
* @Version: 1.0
* @Author: lyg
* @Email: 964793210@ <li>Date: 2016年6月28日</li>
* @History:<br>
*
*/
public class Test {
public static void main(String[] args) {
CacheManager cacheManager = CacheManagerBuilder
.newCacheManagerBuilder()
.withCache(
"preConfigured",
(
, ,
(100)).build())
.build(true);
Cache<Long, String> preConfigured = (
"preConfigured", , );
Cache<Long, String> myCache = (
"myCache",
(
, ,
(100)).build());
(2L, "hello Ehcache");
String value1=(2L);
(value1);
(1L, "da one!");
String value = (1L);
(value);
();
}
}
1.静态方法
返回一个新的
2.当我们使用builder来注册一个预先配置好的Cache,当我们调用
.build() 时,实际上是一个已经创建好的CacheManager。第一个参数string是用于给Cache取一个别名,第二个参数
配置
Cache
。 我们使用静态
.newCacheConfigurationBuilder()
方法
创建一个默认的配置;
3.
最后,调用
.build()
返回一个完全实例化,但未初始化的
CacheManager
供我们使用
4.在我们开始使用CacheManager是,我们需要通过init()builder来初始化它,可以通过布尔值来觉得是否build(boolean);
5.现在开始声明一个Cache,并将他的句柄声明为preConfigured,通过cacheManager的get方法,输入别名得到我们预先声明的Cache;
6.我们可以根据需要创建一个新的Cache,他跟步骤2一样,传入一个别名myCache并进行初始化;
7.接着装载我们的Cache值,并成功的打印出我们的hello Ehcache;
这里有几点要说明一下,一个是因为ehcache的包比较多,所以我代码直接把引用的类路径也给贴出来了,第二个是官网最新的3.2 maven不能加载进来,而低于3.0的版本是运行不起来这段示例的。所以我把maven引用也贴出来
<dependency>
<groupId></groupId>
<artifactId>cache-api</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId></groupId>
<artifactId>ehcache</artifactId>
<version>3.0.0</version>
</dependency>