Cache技术――OSCache(四)
来源:互联网 发布:济南电网待遇 知乎 编辑:程序博客网 时间:2024/06/05 16:52
第三部分:Demo
一、对象缓存
1、Cache操作类
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; } } }
2、Cache管理类
publicclass CacheManager {
private BaseCachenewsCache;
privatestatic CacheManagerinstance;
privatestatic Objectlock =new Object();
private CacheManager() {
//这个根据配置文件来,初始BaseCache而已;
newsCache =new BaseCache("news",120);
}
publicstatic CacheManager getInstance(){
if (instance == null){
synchronized(lock ){
if (instance == null){
instance =new CacheManager();
}
}
}
returninstance;
}
publicvoid removeAllNews() {
newsCache.removeAll();
}
}
publicvoid putUser(User news) { newsCache.put(news.getId()+"",news); }
publicvoid removeUser(String newsID) { newsCache.remove(newsID); }
public User getUser(int newsID) {
try {
return (User)newsCache.get(newsID+"");
} catch (Exception e) {
System.out.println("getNews>>newsID["+newsID+"]>>"+e.getMessage());
User news = new User(newsID);
this.putUser(news);
return news;
}
}
- Cache技术――OSCache(四)
- Cache技术―OSCache
- Cache技术――OSCache
- Cache技术――OSCache(一)
- Cache技术――OSCache(二)
- Cache技术――OSCache(三)
- Cache技术――OSCache(五)
- Cache技术――OSCache(六)
- Cache技术――OSCache(七)
- javaWeb Cache技术――OSCache
- Cache技术――OSCache(一) - [缓存技术]
- Cache技术――OSCache(二) - [缓存技术]
- Cache技术――OSCache(转-全)
- Cache技术――OSCache(转-全)
- OsCache技术
- OSCache 技术应用
- OSCache 缓存技术
- 缓冲技术OSCache
- (转)编写类似jquery $("id").val()的框架-不得不转
- 修炼程序员的职业水准
- Lesson 2
- Cache技术――OSCache(三)
- lucene
- Cache技术――OSCache(四)
- Shell(Bash) - mysql数据库操作
- linux 定时执行shell脚本
- Cache技术――OSCache(五)
- android调用平台功能
- Cache技术――OSCache(六)
- Cache技术――OSCache(七)
- NAT命令教程
- Shell(Bash) - 随机数的生成