美文网首页
Tornado入门

Tornado入门

作者: 五行缺觉 | 来源:发表于2017-08-24 21:36 被阅读0次

    1什么是Tornado?

    中文翻译为龙卷风,这里指Tornado web server。

    python编写的web服务器兼web应用框架。

    FriendFeed研发,Facebook收购,2009年9月开源。

    2Tornado的优势

    轻量级web框架

    异步非阻塞IO处理方式

    出色的抗负载能力

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

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

    3 Tornado VS Django

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

    ①内置管理后台

    ②内置封装完善的ORM操作

    ③session功能

    ④后台管理

    ⑤缺陷:高耦合

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

    ①HTTP服务器

    ②异步编程

    ③WebSocket

    ④缺陷:入门门槛较高

    4 Tornado的helloworld

    01.jpg 02.jpg

    5 Tornado 入门程序代码解析

    tornado.web:tornado的基础web框架

    ①RequestHandler:封装对请求处理的所有信息和处理方法

    ②get/post/..:封装对应的请求方式

    ③write():封装响应信息,写响应的信息的一个方法

    tornado.ioloop:核心io循环模块,封装linux的epoll和BSD的kqueue,tornado高性能处理的核心。

    ①current()返回当前线程的IOLoop实例对象。

    ②start()启动IOLoop实例对象的IO循环,开启监听

    6 httpserver底层处理

    httpserver监听端口

    ①tornado.httpserver.HTTPServer(app)

    ②httpserver.listen(port)

    httpserver实现多进程操作

    ①tornado.httpserver.HTTPServer(app)

    ②httpserver.bind(port)

    ③httpserver.start(0/None/<0/num)

    7options配置

    全局配置

    tornado.options.define( name,default,type,multiple,help)

    命令行参数转换

    tornado.options.parse_command_line()

    配置文件

    tornado.options.parse_config_file(path)

    配置模块

    8application配置

    程序调试之debug配置

    tornado.web.Application([(..)],debug=True)

    自动重启+取消缓存模板+取消缓存静态文件+提供追踪信息

    路由信息初始化参数配置

    tornado.web.Application([(r"",Handler,{k:v})])

    def initialze(self,k)

    路由名称设置及反解析

    名称设置:tornado.web.Application([url(r"",handler,{k,v},name="")])

    反解析操作:reverse_url(name)

    相关文章

      网友评论

          本文标题:Tornado入门

          本文链接:https://www.haomeiwen.com/subject/xpaedxtx.html