Python Web-Sanic框架的正确用法——sanicdb

sanicdb简介

SanicDB 是为 Sanic 方便操作 MySQL 而开发的工具,是对 aiomysql.Pool 的轻量级封装。
这是一个开源的小工具,使用异步io,开箱即用。

使用过Sanic框架的应该会知道,Sanic框架使用的是异步函数,在异步函数中使用同步的功能可能会导致应用阻塞。
例如,你在Sanic的接口函数中写了一段大量写入数据的操作,写入数据是需要时间的,而等待写入完成的这段时间中,Sanic就会进入阻塞状态,整个Sanic框架的接口都无法进行响应。

所以,在Sanic框架中,任何需要等待的操作都需要使用异步操作。

项目地址:https://github.com/veelion/sanicdb
源码很少,尊重作者,这里就不贴出来了。感谢造轮子的兄弟姐妹们。

使用SanicDB

示例代码:

# coding:utf-8

from sanic import Sanic
from sanic import response
# 导入
from sanicdb import SanicDB

app = Sanic('test')
# 实例化SanicDB
db = SanicDB('localhost', 'databasename', 'username', 'password', sanic=app)


@app.route('/sanicdbTest')
async def sanicdbTest(request):
    sql = 'select * from students where age=18'
    data = await app.db.query(sql)
    return response.json(data)


if __name__ == '__main__':
    app.run()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章