【python 异步框架tornado】10分钟学习下Tornado

Tornado 在很大程度上与 Flask 一样简单,但有一个主要区别:Tornado 是专门为处理异步进程而构建的。Tornado 是一个支持异步的Web框架,通过使用非阻塞 I/O 流,它可以支撑成千上万的开放连接,效率非常高,下面我们介绍下它的安装方式。

pip install  tornado

第一个tornado程序
创建一个简单的helloworld.py


# -*- encoding=utf-8 -*-
import tornado.ioloop
import tornado.web

class MainHandler(tornado.web.RequestHandler):
    def get(self):
        self.write("Hello, world")

def make_app():
    return tornado.web.Application([(r"/", MainHandler),])

if __name__ == "__main__":
    app = make_app()
    app.listen(8888)
    tornado.ioloop.IOLoop.current().start()

在这里插入图片描述

Tornado我还是比较喜欢,可惜除了web框架之外,数据库或者其他几乎都是阻塞的。Tornado与Flask的函数形式的写法不一样,Tornado 属于class形式的写法.

既然Tornado这么好用,性能又高,为什么好像还没有Flask受欢迎呢?因为Web开发虽然看起来就是分析一下请求,给一下响应,但是远 不是这么简单,还需要和数据库打交道,Tornado自身可以写出非阻塞的代码,但是连数据库,想用ORM的时候却不行,所以也不是特别方便。因此很多人选择使用Flask或者是Django.

tornado的基础web框架模块RequestHandler封装了请求和响应。

Application核心应用类,类似于flask的app,是和服务器对接的接口,保存了路由信息,

listen方法绑定端口创建http服务器实例,但并未监听,与socket的listen不同/

1、 Tornado的优势

轻量级web框架

异步非阻塞IO处理方式

出色的抗负载能力

优异的处理性能,不依赖多进程/多线程,一定程度上解决C10K问题

WSGI全栈替代产品,推荐同时使用其web框架和HTTP服务器

2.Tornado VS Django

Django:重量级web框架,功能大而全,注重高效开发

内置管理后台

内置封装完善的ORM操作

session功能

后台管理

缺陷:高耦合

Tornado:轻量级web框架,功能少而精,注重性能优越

HTTP服务器

异步编程

WebSocket

缺陷:入门门槛较高

跟多内容:官方翻译文档请参考:http://shouce.jb51.net/tornado/index.html

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页