Tornado框架的异步非阻塞特性是其最大的亮点,这里我们将立足于基础来介绍一种简单的Python的Tornado框架实现异步非阻塞访问数据库的示例:
tornado即是一个http非阻塞服务器, 就要用起来, 我们将用到tornado框架 ,mongodb数据库 以及motor(mongodb的异步驱动).来简单实现tornado的非阻塞功能.
其他环境支持的下载与安装
1.安装mongodb
$ sudo apt-get install update
$ sudo apt-get install mongodb
2.安装motor
$ pip install motor
非阻塞
# conf.py
import os
import motor
from handlers import index, auth
BASE_DIR = os.path.join(__file__)
handlers = [
(r'^/$', index.IndexHandler),
(r'^/auth/register$', auth.RegisterHandler),
(r'^/auth/login$', auth.LoginHandler),
]
settings = dict(
debug = True,
template_path = os.path.join(BASE_DIR, 'templates'),
static_path = os.path.join(BASE_DIR, 'static'),
)
client = motor.MotorClient("127.0.0.1")
db = client.meet
首先在配置文件中连接数据库, client.db_name中 db_name就是数据库的名称
# handlers/__init__.py
class BaseHandler(tornado.web.RequestHandler, TemplateRendering):
def initialite(self):
...
@property
def db(self):
ret