二级缓存jar 包
slf4j的全称是Simple Loging Facade For Java,即它仅仅是一个为Java程序提供日志输出的统一接口,并不是一个具体的日志实现方案,就比如JDBC一样,只是一种规则而已。所以单独的slf4j是不能工作的,必须搭配其他具体的日志实现方案,比如apache的org.apache.log4j.Logger,jdk自带的java.util.logging.Logger等等。
jar 包:
二缓
1 package com.project.girlcloset32.tool; 2 3 import net.sf.ehcache.Cache; 4 import net.sf.ehcache.CacheManager; 5 import net.sf.ehcache.Element; 6 import net.sf.ehcache.config.CacheConfiguration; 7 8 public class EhUtil { 9 10 private static Cache dc; 11 /** 12 * 获取一个缓存对象,并进行初始化配置 13 */ 14 static{ 15 //创建缓存管理器,缓存的容器对象,管理缓存的生命周期 16 CacheManager manager = CacheManager.create(); 17 //创建一个缓存配置 18 CacheConfiguration config = new CacheConfiguration(); 19 config.setName("demo"); 20 //内存中运行存在的最大元素个数 21 config.setMaxElementsInMemory(10000); 22 //设置缓存中的元素是否永久存在 23 config.setEternal(false); 24 //设置对象最大闲置时间(秒) 25 config.setTimeToIdleSeconds(600); 26 //设置元素从创建到消亡的最大时间间隔 27 config.setTimeToLiveSeconds(1600); 28 //硬盘最大缓存元素个数 29 config.setMaxElementsOnDisk(10000000); 30 //元素移除策略LRU:最近最少使用; 31 config.setMemoryStoreEvictionPolicy("LRU"); 32 //缓存,一个缓存可以包含多个元素 33 dc = new Cache(config); 34 manager.addCache(dc); 35 } 36 37 public EhUtil(){ 38 39 } 40 41 /** 42 * 通过键查找缓存中的元素 43 * @param key 44 * @return 45 */ 46 public Object find(String key){ 47 //需要缓存的元素,维护一个键值对Map<String,Object> 48 Element e = dc.get(key); 49 if(null == e) 50 return null; 51 else{ 52 Object o = e.getObjectValue(); 53 return o; 54 } 55 } 56 /** 57 * 将值以键的形式存到缓存中 58 * @param key 59 * @param obj 60 */ 61 public void put(String key, Object obj){ 62 Element e = new Element(key,obj); 63 dc.put(e); 64 } 65 } 66