zoukankan      html  css  js  c++  java
  • 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();
            }
        }
    }
  • 相关阅读:
    剑指offer JZ-1
    侯捷《C++面向对象开发》--String类的实现
    侯捷《C++面向对象开发》--复数类的实现
    辛普森悖论
    马尔可夫链的平稳分布
    熵和基尼指数的一些性质
    UVA 11624 Fire!(广度优先搜索)
    HDU 4578 Transformation (线段树区间多种更新)
    HDU 1540 Tunnel Warfare(线段树+区间合并)
    多重背包
  • 原文地址:https://www.cnblogs.com/clovem/p/5752276.html
Copyright © 2011-2022 走看看