猿问
下载APP

tornado怎么实现异步访问mysql

达令说
浏览 256回答 1
1回答

繁花不似锦

用tornado毕竟是可以做异步request的, 如果你的数据库真的很慢, 不如再开其他的tornado做block数据库操作(你可以用tornado wsgi多线程/多进程形式部署, 也可以用django, flask等), 然后通过API的形式将数据库返回过来. 相当于用tornado给你的数据库操作web化(写内部数据API)这个是我刚才刚刚想到的, 原理就是用一些独立的进程去做费时的数据库操作, 这样你的主web tornado进程就可以异步畅通, 增加吞吐量. 这样就不需要为各个数据库写驱动了.如果数据库在不同的机器上, 那么可以考虑将这些独立的数据操作tornado进程在数据库机器上部署. 使用wsgi多线程/多进程的好处是查询可以同时进行, 当然也可能卡死数据库. 使用tornado自己的单进程异步部署的时候, tornado还可以充当一个数据库操作队列的作用.
打开App,查看更多内容
随时随地看视频慕课网APP
我要回答