import java.net.URL;
import net.sf.ehcache.Cache;
import net.sf.ehcache.CacheManager;
import net.sf.ehcache.Element;
/**
* @author roy
* @version 1.0
* created_dt:2020/09/01
* EhCache tool class
*/
public class EhCacheUtil {
private static final String CONF_PATH = "/ehcache.xml";
private URL url;
private CacheManager cacheManager;
private static EhCacheUtil ehCache;
/**
* @author roy
* @version 1.0
* @param String
* created_dt:2020/09/01
* desc:inti function
*/
private EhCacheUtil(String conPath) {
url = getClass().getResource(conPath);
cacheManager = CacheManager.create(url);
}
/**
* @author roy
* @version 1.0
* created_dt:2020/09/01
*/
public static EhCacheUtil getInstance() {
if (ehCache == null) {
ehCache = new EhCacheUtil(CONF_PATH);
}
return ehCache;
}
/**
* @author roy
* @version 1.0
* created_dt:2020/09/01
*/
public void put(String cacheName, String key, Object value) {
Cache cache = cacheManager.getCache(cacheName);
Element element = new Element(key, value);
cache.put(element);
}
/**
* @author roy
* @version 1.0
* created_dt:2020/09/01
*/
public Object get(String cacheName, String key) {
Cache cache = cacheManager.getCache(cacheName);
Element element = cache.get(key);
return element == null ? null : element.getObjectValue();
}
/**
* @author roy
* @version 1.0
* created_dt:2020/09/01
*/
public Cache get(String cacheName) {
return cacheManager.getCache(cacheName);
}
/**
* @author roy
* @version 1.0
* created_dt:2020/09/01
*/
public void remove(String cacheName, String key) {
Cache cache = cacheManager.getCache(cacheName);
cache.remove(key);
}
/**
* @author roy
* @version 1.0
* created_dt:2020/09/01
*/
public void shutDown() {
cacheManager.shutdown();
}
}
关注公众号“自然语言酷”,每周更新,后端架构师进步之路。