Raf*_*ski 4 database django orm asynchronous twisted
我只想澄清一些事情.
我相信Django服务器是异步工作的(因为如果来自客户端的每个请求都会阻塞服务器,那么它将无法工作),但我也知道Django ORM不是异步的.那么对数据库的查询会阻塞服务器吗?(我的意思是休息请求等待查询完成?)或者它可能完全不同,我误解了它.
我问这个是因为我听说大多数ORM是阻塞的,因此我不能在我的Twisted服务器中使用它们从db获取数据而不会阻塞扭曲.
为什么服务器需要异步工作?Django是一个WSGI应用程序; 并发模型取决于您运行它的服务器,可以是线程,多处理,异步(选择循环驱动)或它们的组合.
每个Django请求本身都是完全同步的.查询数据库会阻止请求,直到返回结果.它不需要知道其他并发请求(除了确保Django以线程安全的方式处理数据结构).
| 归档时间: |
|
| 查看次数: |
3707 次 |
| 最近记录: |