package com.icil.collect.common;
import net.sf.ehcache.Cache;
import net.sf.ehcache.CacheManager;
import net.sf.ehcache.Element;public classEhCacheUtils {private static CacheManager cacheManager=null;public static final String SYS_CACHE = "sysCache";public static final String MIN10 = "MIN10";public static final String HOUR2 = "HOUR2";public final static Byte[] locks = new Byte[0];/**
* 获取SYS_CACHE缓存
* @param key
* @return*/
public static Object get(String key) {return get(SYS_CACHE, key);
}/**
* 写入SYS_CACHE缓存
* @param key
* @return*/
public static voidput(String key, Object value) {
put(SYS_CACHE, key, value);
}/**
* @param key
* @return*/
public static voidremove(String key) {
remove(SYS_CACHE, key);
}/**
* 获取缓存
* @param cacheName
* @param key
* @return*/
public static Object get(String cacheName, String key) {
Element element= getCache(cacheName).get(key);return element == null ? null: element.getObjectValue();
}/**
* 写入缓存
* @param cacheName
* @param key
* @param value*/
public static voidput(String cacheName, String key, Object value) {
Element element= newElement(key, value);
getCache(cacheName).put(element);
}/**
* 从缓存中移除
s * @param cacheName
* @param key*/
public static voidremove(String cacheName, String key) {
getCache(cacheName).remove(key);
}public static voidremoveAll(String cacheName) {
getCache(cacheName).removeAll();
}/**
* @param cacheName
* @return*/
public staticCache getCache(String cacheName) {if (cacheManager == null) {
synchronized (locks) {if (cacheManager == null) {System.setProperty("net.sf.ehcache.enableShutdownHook","true");
cacheManager =CacheManager.create();
}
}
}
Cache cache=cacheManager.getCache(cacheName);if (cache == null) {
cacheManager.addCache(cacheName);
cache=cacheManager.getCache(cacheName);//sava all the day
cache.getCacheConfiguration().setEternal(true);
}returncache;
}public staticCacheManager getCacheManager() {returncacheManager;
}
}
EhCacheUtils 是一个用于处理 Ehcache 的工具类,提供了获取、设置和移除缓存的方法。该类初始化时会检查 CacheManager 是否存在,若不存在则创建,并设置缓存配置为永不过期。缓存名如 SYS_CACHE,过期时间如 MIN10 和 HOUR2。主要功能包括按缓存名和键获取、设置和删除元素。
2680

被折叠的 条评论
为什么被折叠?



