CacheManager 类
public class CacheManager {
private BaseCache newsCache;
private static CacheManager instance;
private static Object lock = new Object();
private CacheManager() {
// 这个根据配置文件来,初始BaseCache而已;
newsCache = new BaseCache("hrms", 300);
}
public static CacheManager getInstance() {
if (instance == null) {
synchronized (lock) {
if (instance == null) {
instance = new CacheManager();
}
}
}
return instance;
}
public void put(Object news,String key,String[] groups) {
newsCache.put(key, news,groups);
}
public void remove(String key) {
newsCache.remove(key);
}
public Object get(String key) {
try {
return newsCache.get(key);
} catch (Exception e) {
return null;
}
}
public void removeAll() {
newsCache.removeAll();
}
public void removeObjectByGroup(String group){
newsCache.removeObjectByGroup(group);
}
}
BaseCache 类增加的2个方法如下:
// 添加被缓存的对象;
public void put(String key, Object value,String[] groups) {
this.putInCache(this.keyPrefix + "_" + key, value,groups);
}
//删除该组的缓存对象
public void removeObjectByGroup(String group){
this.flushGroup(group);
}
参阅资料:
[0]:http://www.opensymphony.com/oscache/
[1]:OSCache简介
[2]:OSCache分析
[3]:OSCache——学习笔记
[6]:osCache 配置说明
[7]:缓存漫谈