- 浏览: 240752 次
- 性别:
- 来自: 北京
最新评论
-
wodett:
...
throw与throws区别 -
a455642158:
myheart 写道这里的 Field[] 是 那个 包 ...
获取Java类中的变量名的字串 -
cddcdd:
liangd407 写道怎么图片不显示呢????盗用csdn的 ...
MyEclipse的UML设计 -
liangd407:
怎么图片不显示呢????
MyEclipse的UML设计 -
hrxzw:
谢谢LZ,通过第5条方法解决问题了
Unable to compile class for JSP
OSCache简单例子
1. BaseCache.java 基类
package com.yanek.demo.cache.oscache;
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. CacheManager.java 管理器
package com.yanek.demo.cache.oscache;
public class CacheManager {
private BaseCache newsCache;
private static CacheManager instance;
private static Object lock = new Object();
public CacheManager() {
//这个根据配置文件来,初始BaseCache而已;
newsCache = new BaseCache("news",1800);
}
public static CacheManager getInstance(){
if (instance == null){
synchronized( lock ){
if (instance == null){
instance = new CacheManager();
}
}
}
return instance;
}
public void putNews(News news) {
// TODO 自动生成方法存根
newsCache.put(news.getId(),news);
}
public void removeNews(String newsID) {
// TODO 自动生成方法存根
newsCache.remove(newsID);
}
public News getNews(String newsID) {
// TODO 自动生成方法存根
try {
return (News) newsCache.get(newsID);
} catch (Exception e) {
// TODO 自动生成 catch 块
System.out.println("getNews>>newsID["+newsID+"]>>"+e.getMessage());
// News news = new News(newsID);
News news = new News(newsID,"aaa","bbb");
this.putNews(news);
return news;
}
}
public void removeAllNews() {
// TODO 自动生成方法存根
newsCache.removeAll();
}
}
3. News.java 缓存的对象
package com.yanek.demo.cache.oscache;
public class News {
private String id;
private String title;
private String content;
public News(String id, String title, String content) {
super();
this.id = id;
this.title = title;
this.content = content;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
}
4. TestCache.java 测试
package com.yanek.demo.cache.oscache;
public class TestCache {
/**
* @param args
*/
public static void main(String[] args) {
CacheManager cm=CacheManager.getInstance();
News n1=new News("1","111","111");
cm.putNews(n1);
News n1_c=cm.getNews("1");
System.out.println("c1:"+n1_c.getContent());
News n2=new News("1","111","222");
cm.putNews(n2);
System.out.println("c1:"+cm.getNews("1").getContent());
cm.removeNews("1");
System.out.println("c1:"+cm.getNews("1").getContent());
BaseCache countCache = new BaseCache("count",1800);
countCache.put("1100454", 10);
countCache.put("1100455", 11);
countCache.put("1100456", 3);
try {
Integer cachedCount = (Integer)countCache.get("1100454");
System.out.println("cachedCount:"+cachedCount);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
1. BaseCache.java 基类
package com.yanek.demo.cache.oscache;
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. CacheManager.java 管理器
package com.yanek.demo.cache.oscache;
public class CacheManager {
private BaseCache newsCache;
private static CacheManager instance;
private static Object lock = new Object();
public CacheManager() {
//这个根据配置文件来,初始BaseCache而已;
newsCache = new BaseCache("news",1800);
}
public static CacheManager getInstance(){
if (instance == null){
synchronized( lock ){
if (instance == null){
instance = new CacheManager();
}
}
}
return instance;
}
public void putNews(News news) {
// TODO 自动生成方法存根
newsCache.put(news.getId(),news);
}
public void removeNews(String newsID) {
// TODO 自动生成方法存根
newsCache.remove(newsID);
}
public News getNews(String newsID) {
// TODO 自动生成方法存根
try {
return (News) newsCache.get(newsID);
} catch (Exception e) {
// TODO 自动生成 catch 块
System.out.println("getNews>>newsID["+newsID+"]>>"+e.getMessage());
// News news = new News(newsID);
News news = new News(newsID,"aaa","bbb");
this.putNews(news);
return news;
}
}
public void removeAllNews() {
// TODO 自动生成方法存根
newsCache.removeAll();
}
}
3. News.java 缓存的对象
package com.yanek.demo.cache.oscache;
public class News {
private String id;
private String title;
private String content;
public News(String id, String title, String content) {
super();
this.id = id;
this.title = title;
this.content = content;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
}
4. TestCache.java 测试
package com.yanek.demo.cache.oscache;
public class TestCache {
/**
* @param args
*/
public static void main(String[] args) {
CacheManager cm=CacheManager.getInstance();
News n1=new News("1","111","111");
cm.putNews(n1);
News n1_c=cm.getNews("1");
System.out.println("c1:"+n1_c.getContent());
News n2=new News("1","111","222");
cm.putNews(n2);
System.out.println("c1:"+cm.getNews("1").getContent());
cm.removeNews("1");
System.out.println("c1:"+cm.getNews("1").getContent());
BaseCache countCache = new BaseCache("count",1800);
countCache.put("1100454", 10);
countCache.put("1100455", 11);
countCache.put("1100456", 3);
try {
Integer cachedCount = (Integer)countCache.get("1100454");
System.out.println("cachedCount:"+cachedCount);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
发表评论
-
如何打JAR包
2010-05-10 10:13 3299大家都知道一个java应用项目可以打包成一个jar,当然你必须 ... -
OSCache提升J2EE性能
2010-04-18 13:54 954Cache是一种用于提 ... -
Unable to compile class for JSP
2009-01-03 16:03 16002使用jsp:userBean是出现了Unable to com ... -
fmt标签
2008-11-12 12:30 2954首先,jstl既然可以国际化,那么必然可以自动根据local设 ... -
获取Java类中的变量名的字串
2008-01-17 20:09 6811在类中定义了一个属性a ... -
throw与throws区别
2008-01-17 20:08 4757这两者虽然看起来只有 ... -
JAVA读写word文件
2007-11-01 16:21 123411。读取word文件有两种方法,用jacob包,可以修改生成w ... -
java生成exe打包工具exe4j
2007-11-01 16:19 24228exe4j.exe下载地址: http://download. ... -
Java的模板引擎Velocity
2007-10-25 17:50 2693不少人看过或了解过Velocity,名称字面翻译为:速度、速率 ... -
java读取操作系统环境变量
2007-10-23 15:43 2936package com.laies; import java ... -
String和StringBuffer的区别
2007-10-15 10:02 1794在我以前的了解中 ... -
MalformedInputException
2007-09-27 10:36 3172websphere 服务器发出的 ... -
对话袁红岗:JSF的优势及未来发展趋势
2007-09-23 00:35 1442JSF,有些人对他有些陌 ... -
Java 本地方法的调用
2007-08-28 10:44 3828... -
log4j的应用及配置
2007-08-16 01:11 1347学习了一些log的知识,特此将一些资料发布共参考。 ... -
常用的Struts 2.0的标志(Tag)介绍
2007-08-15 12:58 1258在介绍常用标志前,我想先从总体上,对Struts 1.x与St ... -
JasperReports是一个开源的java报表制作引擎
2007-07-23 18:05 4487JasperReports是一个开源的 ... -
接开Eclipse的面纱
2007-07-13 14:24 16541 Eclipse下载 EMF,GEF - Graphica ... -
Serializable序列化分析
2007-07-10 11:58 22251、实现Serializable回导致 ... -
JDBC通过DatabaseMetaData对象了解数据库信息
2007-07-04 00:29 5901JSP通过JDBC对数据库管理系统进行连接以后,得到一个Con ...
相关推荐
OSCache学习例子 实例 很好的与j2ee结合
NULL 博文链接:https://aa84990.iteye.com/blog/1879039
OSCache标记库由OpenSymphony设计,它是一种开创性的缓存方案,它提供了在现有JSP页面之内实现内存缓存的功能。OSCache是个一个被广泛采用的高性能的J2EE缓存框架,OSCache还能应用于任何Java应用程序的普通的缓存...
oscache缓存技术入门实例
缓存框架oscache 的使用实例和详细解释,
OsCache实例
oscache 例子
oscache的简单介绍
oscache-2.1.jar oscache-2.1.jar
NULL 博文链接:https://baobeituping.iteye.com/blog/748346
OSCache由OpenSymphony设计,它是一种开创性的JSP定制标记应用,提供了在现有JSP页面之内实现快速内存缓冲的功能。OSCache是一个广泛采用的高性能的J2EE缓存框架,OSCache能用于任何Java应用程序的普通的缓存解决...
javaweb做页面缓存常用,OSCache是一个工业级的J2EE缓存实现。OSCache不但能缓存java对象,还可以缓存页面,http请求和二进制内容,例如pdf文件等。通过应用OSCache,我们不但可以实现通常的Cache功能,还能够改善...
1、OSCache是什么? 2、OSCache的特点 3、有关“用OSCache进行缓存对象”的研究
oscache 封装了一下了的缓存管理类 示例: Map,Object> info = CacheHandler.cache(key, seconds, new CacheUpdater(this, "parse", param)); 缓存对象 = CacheHandler.cache(key, seconds, new CacheUpdater( ...
OSCache标记库由OpenSymphony设计,它是一种开创性的JSP定制标记应用,提供了在现有JSP页面之内实现快速内存缓冲的功能。OSCache是个一个广泛采用的高性能的J2EE缓存框架,OSCache能用于任何Java应用程序的普通的...
使用oscache进行缓存,大大提高web系统运行效率
oscache的简单功能实现的,可以下载下来看看
Cache是一种用于提高系统响应速度、改善系统运行性能的技术。尤其是在Web应用中,通过缓存页面的...OSCache是个一个被广泛采用的高性能的J2EE缓存框架,OSCache还能应用于任何Java应用程序的普通的缓存解决方案。。。。
OSCache缓存框架的简单用法,希望对大家有所帮助!!!
oscache.tld,oscahe.properties,oscache-2.1.jar,commons