OSCache 实例

//
package com.wdf.cache;

import java.util.Date;  

import com.opensymphony.oscache.base.NeedsRefreshException;  
import com.opensymphony.oscache.general.GeneralCacheAdministrator;  
 
public class BaseCache extends GeneralCacheAdministrator {  
    //过期时间(单位为秒);  
protected int refreshPeriod;  
    //关键字前缀字符;  
    protected String keyPrefix;  
      
    private static final long serialVersionUID = -4397192926052141162L;  
      
    public BaseCache(String keyPrefix,int refreshPeriod){  
        super();  
        this.keyPrefix = keyPrefix;  
        this.refreshPeriod = refreshPeriod;  
    }  
    //添加被缓存的对象;  
    public void put(String key,Object value){  
        this.putInCache(this.keyPrefix+"_"+key,value);  
    }  

    public void remove(String key){  
        this.flushEntry(this.keyPrefix+"_"+key);  
    }  
    //删除所有被缓存的对象;  
    public void removeAll(Date date){  
        this.flushAll(date);  
    }  
      
    public void removeAll(){  
        this.flushAll();  
    }  
    //获取被缓存的对象;  
    public Object get(String key) throws Exception{  
        try{  
            return this.getFromCache(this.keyPrefix+"_"+key,this.refreshPeriod);  
        } catch (NeedsRefreshException e) {  
            this.cancelUpdate(this.keyPrefix+"_"+key);  
            throw e;  
        }  
 
    }  
      
}   

//CacheManager
package com.wdf.cache;

 
public class CacheManager {  
      
    private static  NewsBaseCache  newsCache=new  NewsBaseCache ("asr",1800);  
 
      
    private static Object lock = new Object();  
      
    public static  NewsBaseCache  getInstance(){  
        if (newsCache == null){  
            synchronized( lock ){  
                if (newsCache == null){  
                newsCache = new  NewsBaseCache ("asr",1800);  
                }  
            }  
        } 
        return newsCache;  
    }  

}   
//news bean
package com.wdf.bean;

public class News {
    Integer ID;
    String value;
    public News(Integer ID,String value){
    this.ID=ID;
    this.value=value;
    }
   
public Integer getID() {
return ID;
}
public void setID(Integer iD) {
ID = iD;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
   
   
   



}
//Test

package com.wdf.bean;

import com.wdf.cache.CacheManager;
import com.wdf.cache.NewsBaseCache;

public class Test {

/**
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
NewsBaseCache  baseCache= CacheManager.getInstance();
  News news=new News(123,"won");
  baseCache.put("123", news);
  System.out.println(baseCache.get("123").getValue());
}

}


你可能感兴趣的:(OScache)