kylin框架开源,大家看看

09-05-09 davin
kylin.freeze是一个轻量级的持久层框架,着重于提升系统性能,应用方便、开发简单。
kylin应用特点
1. 动态缓存Jsp内容,有Freeze自动维护数据。
2. 可通过配置实现复杂的查询查询功能,分页查询
3. 开发简单,对于一个业务简单的增删改查,可以只设计model,不写其它代码就可以实现;可以不用建数据表,在后期再进行优化。
4. kylin.freeze具有极强的响应速度和并发性,它的性能要远远超过hibernate,不做优化比hibernate正常要快1倍以上,下面是测试数据,kylin的代码太大,只有kylin.freeze的源代码

测试环境:笔记本 xp 数据库db2 连接池:最小30 最大100
测试对单张表的操作:9个字段,数据动态增加
测试一用例: 每次并发的操作:更新条数=(并发数/7*2)条,插入条数=(并发数/7*4)条,不同的查询条件=(并发数/7)个,每次并发总的查询数=并发数

并发数 总的运行时间 单个线程最小时间 结果集行数 缓存

500 freeze totaltime=34797 singletime=18062 rows=17690 三级优化
200 freeze totaltime=33500 singletime=6047 rows=17804 三级优化
100 freeze totaltime=15953 singletime=5625 rows=17861 三级优化
50 freeze totaltime=7172 singletime=5140 rows=17889 三级优化
30 freeze totaltime=6641 singletime=5734 rows=17907 三级优化

30 freeze totaltime=9828 singletime=8640 rows=17923 三级优化
50 freeze totaltime=9234 singletime=5000 rows=17952 三级优化
100 freeze totaltime=16907 singletime=5656 rows=18009 三级优化
200 freeze totaltime=35078 singletime=6141 rows=18123 三级优化
500 freeze totaltime=82016 singletime=5859 rows=18409 三级优化

500 freeze totaltime=28172 singletime=5500 rows=13092 三级优化
1000 freeze totaltime=52922 singletime=5688 rows=13661 三级优化
测试二:单表全查询
10 Hibernate totaltime=58219 singletime=54657 rows=16900
10 freeze totaltime=28531 singletime=3672 rows=16900 不优化
3000 freeze totaltime=9328 singletime=7203 rows=18409 三级优化

[该贴被davin于2009-05-10 11:00修改过]
attachment:


freeze.rar

davin
2009-05-10 11:01
增加、更新、查询代码
Freeze freeze=FreezeFactory.getFreeze();
Query query=freeze.createQuery();
query.getQueryMode().setCacheMode(cacheModel);
if(currentCount%7==2){
l= query.queryList(Dcode.class,where);
}
else if((currentCount%3)==1){
freeze.createUpdate().update(dcode);
}
else{
freeze.createUpdate().insert(dcode);
}
if(l!=null)return l;
l=query.queryList(Dcode.class);

配置:<model class="test.Dcode" modelId="num" table="dcode" autoKey="true">

[该贴被davin于2009-05-10 11:03修改过]

banq
2009-05-10 16:12
不错,支持开源,有关这个框架的帖子最好跟在这个主题。

davin
2009-05-10 18:17
谢谢banq老师的支持。

xmuzyu
2009-05-10 18:22
支持davin以及国产开源框架。先mark下。

davin
2009-05-10 22:54
多谢支持!
kylin.freeze开发案例,增删改查、分页查询、关联查询、性能优化可以很少代码实现
一、model设计
Dcode dcode=new Dcode();
dcode.setDate("2009-05-08");
dcode.setR1(currentCount);
dcode.setR2(i);
dcode.setR3(currentCount+i);
dcode.setR4(currentCount);
dcode.setR5(currentCount);
dcode.setR5(currentCount);
dcode.setAcode(where);
二、配置
<model class="test.Dcode" modelId="num" cacheMode="3" table="dcode" autoKey="true"/>
三、插入操作
Freeze freeze=FreezeFactory.getFreeze();
freeze.createUpdate().insert(dcode);
四、查询
Query query=freeze.createQuery();
List<Dcode> l=query.queryList(Dcode.class,"num>10");
五、更新
dcode=l.get(0);
freeze.createUpdate().update(dcode);
六、删除
freeze.createUpdate().delete(model);
七、分页查询
Pagequery query=freeze.createPageQuery();
List<Dcode> l=query.queryList(Dcode.class,"num>10").set(1,200);
Page page=query.queryPage(Dcode.class,"num>10").set(1,200);
八、关联查询控制
query.getQueryMode().setCascades("级联的名字1,级联的名字2");
九、性能优化
query.getQueryMode().setCacheMode(QueryMode.CACHE_DEFAULT);

[该贴被davin于2009-05-10 22:56修改过]

猜你喜欢