django、tornado和flask的区别

首先,tornado是异步框架,flask和django都是同步框架,处理请求时性能会有所限制。

django框架的特性是大而全,相当于flask而言更适合企业级网站开发,功能全面,自带ORM和模板引擎,稳定且开发效率高;flask相对而言就是小而精,他没有默认关联的数据库,可以自己选择数据库,mysql或者nosql都可以;tornado的话因为他本身的异步性质,所以他的性能会比较高,非阻塞式服务器,速度非常快,一般建议在Unix/Linux平台运行使用。

据网上博主测试分享,json序列化本地测试的情况而言,django完成一次json序列化平均时间最快,其次是flask,最后是tornado;而在处理远程HTTP请求的情况下,tornado的表现优于flask和django。

综合而言,远程http请求+json序列化测试表现最优的是tornado,得益于他自身携带的异步特性;其次是flask,排在最后的是django。

那么事实上,我们在实际使用的场景中,一般都是选择django/flask+celery+redis/memchaned/rabbitMQ组合使用来提高性能。

Django ORM比较慢,但是他的许多性能又依赖于此,Flask的ORM是SQLAlchemy,相较于MySQLdb耗时多了5%左右,是性能比较好的一个ORM,Tornado与Flask速度不相上下

最后总结,相对来说django是更全能一些,他的可维护性和开发速度非常优秀,缺点是比较慢,但是同步特性导致吞吐量小的问题可以通过celery等来解决掉;tornado有一个天生异步的有益条件,性能较为强悍,但是比较原始,许多内容都需要自己去处理,不如django的功能全面好用;flask是一个典型的微框架代表,比较灵活,一般是可以自己选择数据库交互组件的(通常情况选择的是Flask-SQLAlchemy),而且加上celery+redis等异步特性后,与tornado性能不相上下。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值