Cache技术――OSCache(七)

来源:互联网 发布:济南电网待遇 知乎 编辑:程序博客网 时间:2024/06/01 09:45

 

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——学习笔记

[4]应用OSCache提升J2EE系统运行性能

[5][Java]OSCache进行缓存对象

[6]osCache 配置说明

[7]缓存漫谈