我正在使用龙卷风,因为它简单,并且正在使用Pymongo,所以因为我总是听到异步调用,为很多客户服务,然后,我问,什么是对数据库的异步调用,所以这段代码例如:
例如,假设一个用户有4个区域要搜索的页面,那么结果将是4个结果。A = calls the database to search for an element a.
B = calls the database to search for an element b.
C = calls the database to search for an element c.
D = calls the database to search for an element d.
then render a pages where a user will see the results (a,b,c,d)
所以,这将是服务器的杀手,因为他必须留下所有4个请求完成,或者它服务于第一个结果然后等待即使数据库调用阻塞并且在他加入的时候做一个桶所有结果都将提供给客户?或者4个操作的拆分必须用异步数据库库(如Motor或Asyncmongo)完成?
答案 0 :(得分:1)
每次调用PyMongo都会阻止Tornado的IOLoop并阻止进一步处理任何客户端HTTP请求,直到PyMongo方法完成。