hello Ehcache(Ehcache3.0)

Ehcache 是现在最流行的纯Java开源缓存框架,配置简单、结构清晰、功能强大,最初知道它,是从Hibernate的缓存开始的。Ehcache 3.0是一个里程碑式的版本;

这个新的主要版本的Ehcache提供以下

  • 修改缓存API,利用Java泛型和简化了交互,
  • 全面兼容javax。 缓存API(jsr - 107),
  • Offheap存储功能,包括Offheap只缓存,
  • Ehcache 2.倍提高性能,
  • 开箱即用的春天由于javax缓存集成。 缓存的支持,
缓存管理
与之前版本相比,3.0主要是通过 CacheManager  我们先从hello Ehcache来讲解一下
import org.ehcache.Cache;
import org.ehcache.CacheManager;
import org.ehcache.config.builders.CacheConfigurationBuilder;
import org.ehcache.config.builders.CacheManagerBuilder;
import org.ehcache.config.builders.ResourcePoolsBuilder;

/**
 * 
 * @Filename: Test.java
 * @Description:
 * @Version: 1.0
 * @Author: lyg
 * @Email: 964793210@qq.com <li>Date: 2016年6月28日</li>
 * @History:<br>
 * 
 */
public class Test {
	public static void main(String[] args) {
		CacheManager cacheManager = CacheManagerBuilder
				.newCacheManagerBuilder()
				.withCache(
						"preConfigured",
						CacheConfigurationBuilder.newCacheConfigurationBuilder(
								Long.class, String.class,
								ResourcePoolsBuilder.heap(100)).build())
				.build(true);

		Cache<Long, String> preConfigured = cacheManager.getCache(
				"preConfigured", Long.class, String.class);

		Cache<Long, String> myCache = cacheManager.createCache(
				"myCache",
				CacheConfigurationBuilder.newCacheConfigurationBuilder(
						Long.class, String.class,
						ResourcePoolsBuilder.heap(100)).build());
		
		preConfigured.put(2L, "hello Ehcache");
		String value1=preConfigured.get(2L);
		System.out.println(value1);
		myCache.put(1L, "da one!");
		String value = myCache.get(1L);
		System.out.println(value);
		cacheManager.close();

	}
}


1.静态方法 org.ehcache.config.builders.CacheManagerBuilder.newCacheManagerBuilder 返回一个新的 org.ehcache.config.builders.CacheManagerBuilder
2.当我们使用builder来注册一个预先配置好的Cache,当我们调用 .build() 时,实际上是一个已经创建好的CacheManager。第一个参数string是用于给Cache取一个别名,第二个参数 org.ehcache.config.CacheConfiguration 配置 Cache 。 我们使用静态 .newCacheConfigurationBuilder() 方法 org.ehcache.config.builders.CacheConfigurationBuilder 创建一个默认的配置;
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>javax.cache</groupId>
			<artifactId>cache-api</artifactId>
			<version>1.0.0</version>
		</dependency>
		
		<dependency>
  <groupId>org.ehcache</groupId>
  <artifactId>ehcache</artifactId>
  <version>3.0.0</version>
</dependency>  



e 3已经正式发布


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值