红联Linux门户
Linux帮助

jdao 1.0.6发布 轻量级的orm工具包

发布时间:2013-07-02 15:41:50来源:红联作者:empast
1,这个版本主要增加了缓存功能,简单来说就是查询SQL一样,条件值也一样时,如何设置缓存,减少数据查询次数,提高效率。

设置缓存需先设置域名,过去时间,缓存模式
DaoFactory.getCache().setDomain("test").setExpire(10000).setStoreModel(StoreModel.STRONG).build();

域名为必须设置的属性。
过期时间:setExpire()不设置或者设0值时,表示不过期。单位(毫秒)
缓存模式分3种:(1)StoreModel.STRONG 缓存对象为强引用。只有在主动释放时,才能被GC。
(2)StoreModel.SOFT 缓存对象为软引用。则当虚拟机内存不足或者虚拟机认为对象不常用时会回收.
(3)StoreModel.WEAK 缓存对象为弱引用。则当结果集对象没有强引用后,虚拟机GC时,会回收。
setStoreModel()不调用时默认模式为StoreModel.STRONG

设置时切勿忘记在末尾调用build()函数,以完成域名的设置。

设置完缓存域名"test"后dao类使用缓存如:

Hstest hstest = new Hstest().useCache("test");
hstest.where(Hstest.ID.IN(6412, 6413, 6414));
List list = hstest.query();

在new Hstest()后调用useCache("域名")则可以使用缓存。

查询的条件与查询的字段 与 之前一致时,会使用缓存。如例子中:第一次调用时会把查询条件跟查询字段与查询结果放入域名为"test"的缓存中,第二次查询时发现查询条件跟查询字段与之前一致时,若之前结果集对象未过期且未被回收则直接返回,如果已经过期或已被回收,则回重新将查询结果集放到缓存中。

缓存时间与缓存模式根据
DaoFactory.getCache().setDomain("test").setExpire(10000).setStoreModel(StoreModel.STRONG).build();的设置。

此功能可以使用在数据实时性要求不太高的场合,或者数据更新不频繁的数据表中,当然您可以根据实际情况,设置恰当的"过期时间"与"缓存模式" 来减少脏数据的产生或避免内存溢出的情况。

dome程序可以查看 ActionTest1_0_6.java。

2,修改了之前版本的部分bug。

官方首页:http://code.google.com/p/java-jdao/

免费下载:http://code.google.com/p/java-jdao/downloads/list

来自:开源中国社区
文章评论

共有 0 条评论