`
zy116494718
  • 浏览: 471593 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

EhCache应用之单独使用

 
阅读更多

    EhCache其实底层的实现就是static方法,我声名一个变量为static,实际上就把这个变量放在了缓存中,只不过EhCahce等缓存框架是封装了一层,提供了一些实用的方法并且可以进行一些配置。

     下面介绍一个简单的实用EhCache的例子。

     代码分成4个部分。

 

public class TestMain {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		
		EhcacheUtil eUtil = new EhcacheUtil();
		String one = eUtil.getPrame("1");
		
		System.out.println(one);
		

	}

}

 

 

public class EhcacheUtil {

	private Cache cache ;
	
	private void loadPrame(){
		try {
			CacheManager cm = CacheManager.create("src/com/x/ehcache.xml");
			
//			cache = new Cache("b", 5000, false, false, 5, 2);
//			cm.addCache(cache);
//			cache = cm.getCache("b");
			
			cache = cm.getCache("a");
			
			PrameUtil pUtil = new PrameUtil();
			
			for(int i=1;i<6;i++){
				cache.put(new Element(String.valueOf(i),pUtil.getPrame(String.valueOf(i))));
			}
			
		} catch (IllegalStateException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (CacheException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	
	
	
	public String getPrame(String key){
		String value = "";
		try {
			if(cache == null){loadPrame();}
			Element el = cache.get((String)key);
			if(el == null){loadPrame();el = cache.get((String)key);}
			if(el == null){System.out.println("没有");}
			else{value = el.getValue().toString();}
		} catch (IllegalStateException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (CacheException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return value;
	}
}
 

 

public class PrameUtil {

	public String getPrame(String key){
		String value = "";
		
		InputStream is = this.getClass().getClassLoader().getResourceAsStream("com/p/p.properties");
		Properties p = new Properties();
		try {
			p.load(is);
			value = p.getProperty(key);
		} catch (IOException e) {
			e.printStackTrace();
		}
		
		return value;
	}
}
 

    ehcache.xml:

 

 

<ehcache>
	<defaultCache 
	maxElementsInMemory="1000" 
	eternal="true" 
	timeToIdleSeconds="3600" 
	timeToLiveSeconds="3600" 
	overflowToDisk="true" 
	/>
	<cache name="a" 
	maxElementsInMemory="1000" 
	eternal="true" 
	timeToIdleSeconds="3600" 
	timeToLiveSeconds="3600" 
	overflowToDisk="false"
	/>
</ehcache>

 

     执行结果,输出“a"

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics