oscache

package com.sino.mis.incident.web.action;

import com.sino.common.util.BaseCache;

public class CacheManager {        
	private BaseCache newsCache;           
	private static CacheManager instance;     
	private static Object lock = new Object();        
	public CacheManager() {         
	 //这个根据配置文件来,初始BaseCache而已;     
	 newsCache = new BaseCache("RMA",1800);        
	 }            
	 public static CacheManager getInstance(){   
	 if (instance == null){   
	 synchronized( lock ){      
	 if (instance == null){      
	 instance = new CacheManager();    
	 }          
	 }       
	 }           
	 return instance;    
	 }        
	 public void putNews(String rma) {     
	 // TODO 自动生成方法存根         
	 newsCache.put("rmas",rma);    
	 }       
	 public void removeNews(String newsID) {
	 // TODO 自动生成方法存根          
	 newsCache.remove(newsID);      
	 }        
	 public String getNews(String newsID) {  
	 // TODO 自动生成方法存根          
	 try {              
	 return (String) newsCache.get(newsID);      
	 } catch (Exception e) {        
	 // TODO 自动生成 catch 块             
	 System.out.println("getNews>>newsID["+newsID+"]>>"+e.getMessage());   
	 String news = new String();          
	 this.putNews(news);             
	 return news;         
	 }     
	 }        
	 public void removeAllNews() {  
	 // TODO 自动生成方法存根           
	 newsCache.removeAll();     
	 }  
	 }   

 

 

 

 

 

 

 

 

 

 

 

package com.sino.common.util;

import java.util.Date;

import com.opensymphony.oscache.base.NeedsRefreshException;
import com.opensymphony.oscache.general.GeneralCacheAdministrator;

public class BaseCache extends GeneralCacheAdministrator {   
	//过期时间(单位为秒);      
	private int refreshPeriod;      
	//关键字前缀字符;      
	private 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;           }    
	}         
	}   

 

 

 

 

 

 

 

System.out.print("进来几次");
		if(log.isInfoEnabled()){
			log.info("enter 'search' method");
		}
		System.out.println("#########"+CacheManager.getInstance().getNews("rmas").toString()+"#########");
		if(!CacheManager.getInstance().getNews("rmas").toString().equals("")){
			System.out.print("%%%%%%%%%%%%%%%%%%%%%%%%%%%%"+CacheManager.getInstance().getNews("rmas").toString());
		}
		else{
		this.setVendorId("看看有没有效果");
		CacheManager.getInstance().putNews(vendorId);
		CacheManager.getInstance().getNews("rmas").toString();
		System.out.println("&&&&&&&&&&&&&&&&&&&&&&&&&&&&"+CacheManager.getInstance().getNews("rmas").toString());
		this.setVendorId("看看对不对");
		CacheManager.getInstance().putNews(vendorId);
		System.out.println("%%%%%%%%%%%%%%%%%%%%%%%%%%%%"+CacheManager.getInstance().getNews("rmas").toString());
		}
		

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值