Java Cache System JCS(一) 使用方法

来源:互联网 发布:苹果手机怎样开4g网络 编辑:程序博客网 时间:2024/05/19 09:04
                    

                     JCS 是JAVA 中缓存的一种实现,支持将数据缓存到内存或硬盘中,支持设置缓存对象的有效时长。使用时需要用到以下几个jar包:

commons-collections-2.1.1.jar

commons-lang.2.3.jar

commons-logging-1.0.4.jar

concurrent-1.3.2.jar

jcs-1.3.jar

slf4j-api.jar

定义实现了Serializable 接口的存储对象类:

public class UserInfo implements Serializable{    private String username;    private String domain;    public UserInfo(String name){      this.username = name;    }    public UserInfo(String name,String domain){      this.username= name;      this.domain =domain;    } }


定义存储类:

public class UserManager{    private JCS jcscache;    private final String NAME_SPACE="userinfo";         private static class UserManagerContainer{        private static UserManager instance = new UserManager();     }    public static UserManager getInstance(){        return UserManagerContainer.instance    }    private UserManager(){        try{                       jcscache= JCS.getInstance(NAME_SPACE);           }           catch(CacheException e){           }    }    public UserInfo get(String key){        return (UserInfo) jcscache.get(key);    }    pubilc void put(String key,UserInfo info,boolean isoverride){        try{            if(isoverride){               jcscache.put(key,info);            }            else{               jcscache.putSafe(key,info);            }          }          catch(CacheException e){          }    }}


定义配置文件:cache.ccf

jcs.default=DCjcs.defaultcacheattributes=org.engine.CompositeCacheAttributesjcs.defaultcacheattributes.MaxObjects=500000jcs.defaultcacheattributes.MemoryCacheName=org.apache.jcs.engine.memory.lru.LRUMemoryCachejcs.defaultcacheattributes.UseMemoryShrinker=truejcs.defaultcacheattributes.MaxMemoryIdleTimeSeconds=1200jcs.defaultcacheattributes.ShrinkerIntervalSeconds=30jcs.defaultcacheattributes.MaxSpoolPerRun=500jcs.default.elementattributes=org.apache.jcs.engine.ElementAttributesjcs.default.elementattributes.IsEternal=falsejcs.auxiliary.DC=org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheFactoryjcs.auxiliary.DC.attributes=org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheAttributejcs.auxiliary.DC.attributes.DiskPatch=d:/memory