JCS 使用方法

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=DC
jcs.defaultcacheattributes=org.engine.CompositeCacheAttributes
jcs.defaultcacheattributes.MaxObjects=500000
jcs.defaultcacheattributes.MemoryCacheName=org.apache.jcs.engine.memory.lru.LRUMemoryCache
jcs.defaultcacheattributes.UseMemoryShrinker=true
jcs.defaultcacheattributes.MaxMemoryIdleTimeSeconds=1200
jcs.defaultcacheattributes.ShrinkerIntervalSeconds=30
jcs.defaultcacheattributes.MaxSpoolPerRun=500
jcs.default.elementattributes=org.apache.jcs.engine.ElementAttributes
jcs.default.elementattributes.IsEternal=false
jcs.auxiliary.DC=org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheFactory
jcs.auxiliary.DC.attributes=org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheAttribute
jcs.auxiliary.DC.attributes.DiskPatch=d:/memory

 

你可能感兴趣的:(方法)