tornado
Python小学生
单丝不成线 ,独木不成林。
展开
-
Tornado框架01-高性能简介
01-简介Tornado全称Tornado Web Server,是一个用Python语言写成的Web服务器兼Web应用框架,由FriendFeed公司在自己的网站FriendFeed中使用,被Facebook收购以后框架在2009年9月以开源软件形式开放给大众。特点:作为Web框架,是一个轻量级的Web框架,其拥有异步非阻塞IO的处理方式。作为Web服务器,Tornado有较为出色的抗负载能力原创 2017-10-16 19:50:10 · 976 阅读 · 1 评论 -
Tornado框架09-异步01
01-同步我们用两个函数来模拟两个客户端请求,并依次进行处理:# coding:utf-8def req_a(): """模拟请求a""" print '开始处理请求req_a' print '完成处理请求req_a'def req_b(): """模拟请求b""" print '开始处理请求req_b' print '完成处理请求req_b'def原创 2017-10-21 17:26:21 · 293 阅读 · 0 评论 -
Tornado框架07-数据库
与Django框架相比,Tornado没有自带ORM,对于数据库需要自己去适配。我们使用MySQL数据库。在Tornado3.0版本以前提供tornado.database模块用来操作MySQL数据库,而从3.0版本开始,此模块就被独立出来,作为torndb包单独提供。torndb只是对MySQLdb的简单封装,不支持Python 3。torndb安装pip install torndb连接初始化我原创 2017-10-21 17:16:17 · 969 阅读 · 0 评论 -
Tornado框架11-部署
为了充分利用多核CPU,并且为了减少同步代码中的阻塞影响,在部署Tornado的时候需要开启多个进程(最好为每个CPU核心开启一个进程)因为Tornado自带的服务器性能很高,所以我们只需开启多个Tornado进程。为了对外有统一的接口,并且可以分发用户的请求到不同的Tornado进程上,我们用Nginx来进行代理。 01-supervisor为了统一管理Tornado的多个进程,我们可以借助su原创 2017-10-20 15:58:40 · 655 阅读 · 1 评论 -
Tornado框架10-WebSocket
01-实时获取数据前端轮询:有无数据立即回复长轮询:没有数据改变,不做任何响应,当有数据改变时,服务器响应WebSocket02-概述WebSocket是HTML5规范中新提出的客户端-服务器通讯协议,协议本身使用新的ws://URL格式。WebSocket 是独立的、创建在 TCP 上的协议,和 HTTP 的唯一关联是使用 HTTP 协议的101状态码进行协议切换,使用的 TCP 端口是8原创 2017-10-19 21:48:40 · 408 阅读 · 0 评论 -
Tornado框架08-应用安全
01-Cookie普通cookie1.设置原型self.set_cookie(name,value,domain=None,expires=None,path="/",expires_days=None,**kwargs)参数 属性 作用 name cookie的名称 value cookie值 domain 提交cookie时匹配的域名 path 提交cook原创 2017-10-18 21:17:23 · 561 阅读 · 0 评论 -
Tornado框架06-模板
01-静态文件static_path引用文件配置静态文件的路径,告诉tornado从文件系统中的一个特定的位置提取静态文件 使用:"static_path": os.path.join(BASE_DIRS, "static")作用: 引入其他文件<!--<link rel="stylesheet" href="/static/css/home.css" />--><link rel="styl原创 2017-10-18 20:01:37 · 398 阅读 · 0 评论 -
Tornado框架05-输入和输出,接口调用顺序
01-利用HTTP协议向服务器传参几种途径查询字符串(query string),形如key1=value1&key2=value2;请求体(body)中发送的数据,比如表单数据、json、xml;提取uri的特定部分,如/blogs/2016/09/0001,可以在服务器端的路由中用正则表达式截取;在http报文的头(header)中增加自定义字段,如X-XSRFToken=xiaoke原创 2017-10-16 19:53:00 · 921 阅读 · 1 评论 -
Tornado框架04-配置文件和路由
01-Applicationsettings在创建tornado.web.Application的对象时,传入了第一个参数——路由映射列表。实际上Application类的构造函数还接收很多关于tornado web应用的配置参数。debug设置debug,设置tornado是否工作在调试模式,默认为False即工作在生产模式。 当设置debug=True 后,tornado会工作在调试/开发模原创 2017-10-16 19:52:15 · 1414 阅读 · 0 评论 -
Tornado框架03-options和日志
01-options在前面的示例中我们都是将服务端口的参数写死在程序中,很不灵活。 tornado为我们提供了一个便捷的工具,tornado.options模块——全局参数定义、存储、转换。02-tornado.options.define()用来定义options选项变量的方法,定义的变量可以在全局的tornado.options.options中获取使用,传入参数:name 选项变量名,须保原创 2017-10-16 19:51:48 · 2225 阅读 · 0 评论 -
Tornado框架02-创建服务器与多进程
01-httpserver修改上篇文章简单tornado案例的代码如下:import tornado.webimport tornado.ioloopimport tornado.httpserver # 新引入httpserver模块class IndexHandler(tornado.web.RequestHandler): """主路由处理类""" def get(self原创 2017-10-16 19:51:15 · 454 阅读 · 0 评论 -
Tornado框架09-异步02
因为epoll主要是用来解决网络IO的并发问题,所以Tornado的异步编程也主要体现在网络IO的异步上,即异步Web请求。01-tornado.httpclient.AsyncHTTPClientTornado提供了一个异步Web请求客户端tornado.httpclient.AsyncHTTPClient用来进行异步Web请求。 fetch(request, callback=None)原创 2017-10-21 17:33:12 · 423 阅读 · 0 评论