1.CacheManager
1.CacheManager里面可以管理很多Cache,每个Cache中有多个Element,每个Element中存了缓存的相关信息。
关于Element类的解释可以查看我的另一篇博客,ehcache中的element源码学习
2.CacheManager负责Cache的创建、访问、删除。
3.CacheManager.create():创建一个新的默认配置的单例CacheManager
2.CacheManager的使用
package com.comevv.vvfuture.utils;
import net.sf.ehcache.Cache;
import net.sf.ehcache.CacheManager;
import net.sf.ehcache.Element;
import net.sf.ehcache.config.Configuration;
/**
* @author st
* @Date: 2020/9/26 13:08
* @description
*/
/**
* 缓存工具类
*/
public class CacheUtil {
private static CacheManager cacheManager;
static {
cacheManager = CacheManager.create();
}
/**
* 存缓存
* @param cacheName 缓存名
* @param key key
* @param value value
*/
public static void putValue(String cacheName, String key, String value) {
Cache cache = cacheManager.getCache(cacheName);
if (null == cache) {
cacheManager.addCache(cacheName);
} else {
cache.put(new Element(key, value));
}
}
/**
* 取缓存
* @param cacheName
* @param key
* @return
*/
public static Object getValue(String cacheName, String key) {
Cache cache = cacheManager.getCache(cacheName);
Element element = cache.get(key);
System.out.println(element);
return element == null ? null : element.getObjectValue();
}
/**
* 获取Cache缓存
* @param cacheName
* @return
*/
public static Cache getCache(String cacheName){
return cacheManager.getCache(cacheName);
}
/**
* 获取缓存数量
* @param cacheName
* @return
*/
public static int getSize(String cacheName){
return getCache(cacheName).getSize();
}
}