如何使用Ehcache

这篇文章主要介绍“如何使用Ehcache”,在日常操作中,相信很多人在如何使用Ehcache问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用Ehcache”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

目前创新互联建站已为千余家的企业提供了网站建设、域名、网站空间、网站改版维护、企业网站设计、莱芜网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

一、简介

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

二、简单使用(以3版本为例)

1、编程式

/**
 *  等价于
 *  
 *    java.lang.Long
 *    java.lang.String
 *    
 *	    200
 *    
 *  
 * @author luther
 * @time 2019年7月12日  上午10:33:22
 */
@Test
public void testHelloWorld() {
	CacheConfiguration cacheConfiguration = CacheConfigurationBuilder
			.newCacheConfigurationBuilder(long.class, String.class, ResourcePoolsBuilder.heap(100)).build();
	CacheManagerBuilder cacheManagerBuilder = CacheManagerBuilder.newCacheManagerBuilder();
	// 将CacheManager名定义为preConfigured
	cacheManagerBuilder.withCache("preConfigured", cacheConfiguration);
	// 创建CacheManager实例
	CacheManager cacheManager = cacheManagerBuilder.build();
	// 初始化CacheManager实例
	cacheManager.init();
	// 在CacheManager中创建名为myCache的缓存对象
	Cache myCache = cacheManager.createCache("myCache", CacheConfigurationBuilder
			.newCacheConfigurationBuilder(Long.class, String.class, ResourcePoolsBuilder.heap(1)).build());
	// 往myCache缓存中放入键为1L,值为da one!的条目
	myCache.put(1L, "da one!");
	// 通过键获取值
	String value = myCache.get(1L);
	// 展示值
	System.out.println(value);
	// 移除preConfigured缓存管理器
	cacheManager.removeCache("preConfigured"); 
	// 关闭缓存
	cacheManager.close(); 
}

2、xml配置方式

/**
 * 演示加载xml配置 
 * @author luther
 * @time 2019年7月12日  上午10:57:27
 */
@Test
public void testXml() {
	XmlConfiguration xmlConfig = new XmlConfiguration(Thread.currentThread()
			.getContextClassLoader().getResource("ehcache3.xml")); 
	CacheManager cacheManager = CacheManagerBuilder.newCacheManager(xmlConfig); 
	cacheManager.init();
	// 在CacheManager中创建名为myCache的缓存对象
	Cache myCache = cacheManager.createCache("myCache", CacheConfigurationBuilder
			.newCacheConfigurationBuilder(Long.class, String.class, ResourcePoolsBuilder.heap(1)).build());
	// 往myCache缓存中放入键为1L,值为da one!的条目
	myCache.put(1L, "da one!");
	// 通过键获取值
	String value = myCache.get(1L);
	// 展示值
	System.out.println(value);
	// 移除preConfigured缓存管理器
	cacheManager.removeCache("preConfigured"); 
	// 关闭缓存
	cacheManager.close(); 
}

配置文件如下:




	
		java.lang.Long
		java.lang.String
		
			200
		
	

	

三、配置文件详解

EhCache分2和3版本,而2版本和3版本的XML配置文件有所出入。
其中2版本的配置如下:



        
  
  
  
  
  
    diskExpiryThreadIntervalSeconds="120"
    
    eternal="false"
    
    maxEntriesLocalDisk="0"
    
    maxEntriesLocalHeap="0"
    
    memoryStoreEvictionPolicy="LRU"
    
    timeToIdleSeconds="3600"
    
    timeToLiveSeconds="0"
    
    overflowToDisk="false"
    
    copyOnRead="true"
    
    copyOnWrite="true"
    
    statistics="true">
    
    
    
    
    
  

如果觉的不够详细,可以参考官方给的2版本的XML详解

3版本为:




  
  
    
    java.lang.String
    
    java.lang.String
    
    
      
      com.luther.expiryPolicy.MyExpiryPolicy
      
      
      
      3600
      
      0
    
    
      
      20
      
      200
      
      
    
  
	

到此,关于“如何使用Ehcache”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!


当前题目:如何使用Ehcache
文章转载:http://myzitong.com/article/psjhsi.html