随笔分类 -  Tornado

使用tornado的gen模块改善程序性能
摘要:之前在公司的一个模块,需要从另一处url取得数据,我使用了Python的一个很著名的lib,叫做requests。但是这样做极大的降低了程序的性能,因为tornado是单线程的,它使用了所谓的reactor模式,底层使用epoll监听每个tcp连接,上层再经过封装,接受HTTP请求。所以,tornad实际上是单线程的。 在实际的场景中,经常采用nginx反向代理的模式,然后服务器开启多个torn... 阅读全文
posted @ 2015-03-18 21:17 inevermore 阅读(963) 评论(0) 推荐(1)
使用Tornado实现Ajax请求
摘要:Ajax,指的是网页异步刷新,一般的实现均为js代码向server发POST请求,然后将收到的结果返回在页面上。 这里我编写一个简单的页面,ajax.html 测试Ajax 点击 注意,从上面的代码可以看出,数据存储在“message”字段中。 所以后台从messag... 阅读全文
posted @ 2014-12-29 23:16 inevermore 阅读(6345) 评论(0) 推荐(0)
使用tornado实现用户认证
摘要:关于用户的登录状态,一部分的应用程序是采用session实现的。 HTTP是一个无状态协议,用户的每次请求都是相互独立的,HTTP本身意识不到用户是否登录。 很多web框架选择将session存放在cookies中,本节我们也是这样实现: import tornado.ioloop import tornado.web class BaseHandler(tornado.web.Re... 阅读全文
posted @ 2014-12-29 21:54 inevermore 阅读(2178) 评论(0) 推荐(0)
Tornado框架中视图模板Template的使用
摘要:上文的程序中有这样一段: class MessageHandler(tornado.web.RequestHandler): def get(self): self.write(''' Please Input Message ''' ... 阅读全文
posted @ 2014-12-28 20:12 inevermore 阅读(545) 评论(0) 推荐(0)
Tornado框架的初步使用
摘要:Tornado的搭建很简单,使用pip,或者下载源码均可。 我们先看一个最简单的程序: import tornado.ioloop import tornado.web class MainHandler(tornado.web.RequestHandler): def get(self): self.write("Hello World") appli... 阅读全文
posted @ 2014-12-28 19:06 inevermore 阅读(349) 评论(0) 推荐(0)