在WEB程序中使用缓存,能给程序带来不小的效率上的提升,常用的方式是使用一些缓存插件,如OSCACHE等,这里介绍个简单的使用方式,即借助HaspMap进行缓存,即定义一个HaspMap的类变量,然后将程序得到的数据存入该变量中,当要获取的时候,先从该变量中取,如果该变量中没有数据,则再根据其他方式(如从数据库中读取,或从文件中读取).然后将取到的数据存入的变量中,下次要使用时,就可以直接从该变量中取了,提高了效率.
类似代码如下:
private static Map cache = new HashMap();
public Object getObj() {
final String cacheKey = "cacheToName";
if(cache.containsKey(cacheKey)) {
Object obj = (Object)cache.get(cacheKey);
return obj;
}
else{
Object obj = "select * from ";
cache.put(cacheKey,obj);
return obj;
}
}
经过这样缓存的处理后,就可以给程序带来一定的效率的提升了.
注:这里要注意一个问题,即如果从数据库或文件中得到的数据可能是会变化的时候,且程序中又要得到最新的数据时,采用这种方式是会有问题的,即不能得到最新的数据,比如开始从数据库中查询得到了一条数据,然后存入HashMap变量中,然后在系统的其他地方中更改了数据库表中的数据,这时采用这种缓存方式获取到的数据是改变之前的旧数据,而不是最新的数据的,如果要得到最新的数据,则就应该去掉缓存机制,呵呵.
posted on 2008-06-12 16:00
henry1451 阅读(391)
评论(1) 编辑 收藏 所属分类:
Java技术