java缓存框架---ehcache简单实例
java缓存有很多,ehcache是比较流行的java缓存框架,它以简单,快速等特点受到广大开发人员的喜爱,下面是我参考了一些资料后整理的关于ehcache的简单实例,包括通过配置文件和java动态添加缓存,以下是详细代码:
一、通过使用API来动态的添加缓存(将缓存的配置信息通过java代码来实现而非写在配置文件)
1 package ehcache; 2 3 import net.sf.ehcache.Cache; 4 import net.sf.ehcache.CacheManager; 5 import net.sf.ehcache.Element; 6 /** 7 * 使用API来动态的添加缓存(将缓存的配置信息通过java代码来实现而非写在配置文件) 8 * @author Administrator 9 * 10 */ 11 public class EhCache1 { 12 13 public static void main(String[] args) { 14 //创建一个缓存管理器 15 CacheManager singletonManager = CacheManager.create(); 16 //建立一个缓存实例 17 Cache memoryOnlyCache = new Cache("testCache", 5000, false, false, 5, 2); 18 //在内存管理器中添加缓存实例 19 singletonManager.addCache(memoryOnlyCache); 20 //在缓存管理器中获取一个缓存实例 21 Cache cache = singletonManager.getCache("testCache"); 22 //使用获取到的缓存实例 23 Element element = new Element("key1", "value1"); 24 cache.put(element);//添加缓存值 25 cache.put(new Element("key2", "value2"));//添加缓存值 26 27 int elementsInMemory = cache.getSize();//获取缓存个数 28 System.out.println("缓存个数======="+elementsInMemory); 29 30 // Object obj = element.getObjectValue();//获取对象值 31 // cache.remove("key1");//删除缓存 32 33 Cache cache2 = singletonManager.getCache("testCache");//获取缓存实例 34 Element element2 = cache2.get("key1"); 35 System.out.println("value====="+element2.getValue());//获取缓存值 36 // singletonManager.shutdown(); 37 } 38 39 }
二、通过配置文件ehcache.xml创建缓存实例

1.ehcache.xml
1 <?xml version="1.0" encoding="UTF-8"?> 2 <ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 3 xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd"> 4 5 <!-- 磁盘缓存位置 --> 6 <diskStore path="java.io.tmpdir/ehcache"/> 7 8 <!-- 默认缓存 --> 9 <defaultCache 10 maxEntriesLocalHeap="10000" 11 eternal="false" 12 timeToIdleSeconds="120" 13 timeToLiveSeconds="120" 14 maxEntriesLocalDisk="10000000" 15 diskExpiryThreadIntervalSeconds="120" 16 memoryStoreEvictionPolicy="LRU"/> 17 18 <!-- helloworld1缓存 --> 19 <cache name="helloworld1" 20 maxElementsInMemory="1000" 21 eternal="false" 22 timeToIdleSeconds="5" 23 timeToLiveSeconds="5" 24 overflowToDisk="false" 25 memoryStoreEvictionPolicy="LRU"/> 26 27 <!-- helloworld2缓存 --> 28 <cache name="helloworld2" 29 maxElementsInMemory="1000" 30 eternal="false" 31 timeToIdleSeconds="5" 32 timeToLiveSeconds="5" 33 overflowToDisk="false" 34 memoryStoreEvictionPolicy="LRU"/> 35 36 </ehcache>
2.java代码
1 package ehcache; 2 3 import net.sf.ehcache.Cache; 4 import net.sf.ehcache.CacheManager; 5 import net.sf.ehcache.Element; 6 /** 7 * 通过配置文件(ehcache.xml)来使用缓存 8 * @author Administrator 9 */ 10 public class EhCache2 { 11 12 public static void main(String[] args) { 13 //创建缓存管理器 14 final CacheManager cacheManager = new CacheManager(); 15 16 // 创建一个缓存实例(在配置文件中获取一个缓存实例) 17 final Cache cache = cacheManager.getCache("helloworld1"); 18 19 final String key = "greeting"; 20 21 //他建一个数据容器 22 final Element putGreeting = new Element(key, "Hello, World!"); 23 24 //将数据放入到缓存实例中 25 cache.put(putGreeting); 26 27 //取值 28 final Cache cache2 = cacheManager.getCache("helloworld1"); 29 final Element getGreeting = cache2.get(key); 30 31 // Print the value 32 System.out.println("value======//========"+getGreeting.getObjectValue()); 33 } 34 35 }
http://blog.csdn.net/u012255097/article/details/54576720
浙公网安备 33010602011771号