EhCache缓存
EhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认的CacheProvider。
Ehcache是一种广泛使用的开源Java分布式缓存。主要面向通用缓存,Java EE和轻量级容器。它具有内存和磁盘存储,缓存加载器,缓存扩展,缓存异常处理程序,一个gzip缓存servlet过滤器,支持REST和SOAP api等特点。
主要的特性有:
1. 快速
2. 简单
3. 多种缓存策略
4. 缓存数据有两级:内存和磁盘,因此无需担心容量问题
5. 缓存数据会在虚拟机重启的过程中写入磁盘
/**
* 将对象缓存
*
* @param cacheName ehcache.xml中定义的Cache的name
* @param key 缓存名称
* @param value 需要缓存的对象
*/
public static void setCache(String cacheName, String key, Object value) {
Cache cache = cacheManager.getCache(cacheName);
if (cache == null) {
cacheManager.addCache(cacheName);
cache = cacheManager.getCache(cacheName);
}
Element element = new Element(key, value);
cache.put(element);
}
/**
* 取得已经被缓存的对象
*
* @param cacheName ehcache.xml中定义的Cache的name
* @param key 缓存名称
* @return 已经被缓存的对象
*/
public static Object getCache(String cacheName, String key) {
Object value = null;
Cache cache = cacheManager.getCache(cacheName);
if (cache != null) {
Element element = cache.get(key);
if (element != null) {
value = element.getObjectValue();
}
}
return value;
}
EhcacheUtil.setCache(FONDSCODE1,fondsCode.getId(), fondsCode.getName());
EhcacheUtil.removeCache(FONDSCODE1,fondsCode.getId());
EhcacheUtil.getCache(FONDSCODE2);