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, falsefalse, 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

 

posted @ 2017-10-18 16:53  wangwiz  阅读(406)  评论(0)    收藏  举报