posts - 60,comments - 71,trackbacks - 0

    在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 阅读(382) 评论(1)  编辑  收藏 所属分类: Java技术

FeedBack:
# re: 程序中缓存的使用
2009-03-13 16:18 | 代码人生
如果数据量大的化,这个时候你知道JAVA 虚拟机什么时候失放吗?  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: