JCS缓存使用类

项目是一个门户网站,一些新闻等会做缓存.

导入jar包:

项目跟目录下配置文件:cache.ccf

#内存缓存
jcs.default=
jcs.default.cacheattributes=org.apache.jcs.engine.CompositeCacheAttributes
jcs.default.cacheattributes.MaxObjects=1000
jcs.default.cacheattributes.MemoryCacheName=org.apache.jcs.engine.memory.lru.LRUMemoryCache
#过期时间设定
#jcs.default.cacheattributes.cacheattributes.UseMemoryShrinker=true
#jcs.default.cacheattributes.cacheattributes.MaxMemoryIdleTimeSeconds=3600
#jcs.default.cacheattributes.cacheattributes.ShrinkerIntervalSeconds=60

自己的工具类:JCSManager

package coffee.util.jcs;

import org.apache.jcs.JCS;
import org.apache.jcs.access.exception.CacheException;
import org.apache.log4j.Logger;

public class JCSManager {
    private static JCSManager instance;
    private static int checkedOut=0;
    private static JCS ObjCache;
    static Logger log =Logger.getLogger(JCSManager.class);
    
    private JCSManager(){
        try {
            ObjCache=JCS.getInstance("dc");//这个dc相当于一个regions
        } catch (CacheException e) {
            e.printStackTrace();
        }
    }
    
    public static JCSManager getInstance(){
        synchronized(JCSManager.class){
            if(instance==null){
                instance= new  JCSManager();
            }
        }
        synchronized(instance){
            instance.checkedOut++;
        }
        return instance;
    }
    //取出缓存
    public Object getObj(Object key){
        Object obj=null;
        obj=(Object)ObjCache.get(key);
        return obj;
    }
    //放入缓存
    public void storeObject(Object key,Object obj){
        try {
            ObjCache.put(key, obj);
        } catch (CacheException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
    //删除缓存
    public void removeObject(Object key){
        try {
            ObjCache.remove(key);
        } catch (CacheException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
    //清除所有缓存
    public void clear(){
        try {
            ObjCache.clear();
        } catch (CacheException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}
原文地址:https://www.cnblogs.com/clovem/p/5752276.html