Static Data Query 
最简单的用MAP ,提供常用的get 方法。

解决方案 »

  1.   

    你可以看看几种CACHE,JCS,MEMORYCACHE,OSCACHES等一搜索就搜到了,简单方面,并且可以配置内存大小,配置LRU算法等,比较好用,而且你只需要在程序的数据对象的读取和写入的地方稍微改动一下就可以了
      

  2.   

    用 Hibernate 将数据加载到静态Singlton对象中,然后用 Criteria 或 HQL 查询。关键是**静态Singlton对象**,这样,只要对那个类的引用还在,数据就会一直存在。
      

  3.   

    容易一点,最简单的就是自己用map存数据,存取都是自己控制,灵活性等都好,也简单,会用map就行了
      

  4.   

    用java的开源项目啊,OSCache啊,这个东西很不错的.
      

  5.   


     谢谢大家的回复, 有人说用MAP,又有人说OScache,那到底哪个更好点呀???
      

  6.   

    一般的数据你放到自己一个静态的Map或者一个singleton模式的类中 就可以了
      

  7.   


     谢谢大家的回复, 我已经准备用MAP或通过singleton模式来存这些数据库中基础数据了,大致思路是这样的,在应用服务器启动的时候,查询数据库一些静态数据表的所有数据,然后通过MAP或singleton 对象存放这些数据,但是有一个问题:是不是把这些对象存放在application对象中呢???请高手们继续指点!!
      

  8.   

    随便哪里,只要满足“唯一”,“可及”两个条件即可。问题是,你能确保把这些静态数据都取出来会更快而不是更慢吗?建议考虑cache机制,即先去cache中找,找不到再DB,并保存到cache中。cache满后,可以用LRU(最少用到的先移出,推荐)/FIFO(先入先出)。这样,你完工后,在现场运行,只要微调cache的大小,而不会出现突然发现由于一股脑儿全放内存,导致垃圾收集的频率大幅增加,效率反而低下的尴尬局面。当然,你们公司的那个系统可能很小,数据量也少,不会出现类似问题:P
      

  9.   

    谢谢楼上的两位答复,想问一下,ecache是什么东东??是一种组件还是别的东西??