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());
}

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值