2

我们正在使用 asyncio 框架(在我们的例子中为 aiohttp)构建一个后端服务。

我们正在使用 aiopg 对数据库进行查询。

由于这是单线程服务器,因此进行数据库查询的正确实现模式是什么:

1)服务器应该只保留一个连接,每个协程应该只是aquire()该连接对象上的一个新光标?

或者

2)服务器应该为每个协程打开一个新连接?

关于场景(1)的问题:它是否保证并发?await cursor.execute()数据库可以在一个连接上运行多个异步查询吗?我很确定在非异步模式下,相同连接上的游标会被简单地序列化。使用异步时这有什么不同吗?如果是,可以同时获取的光标的最大限制是多少?

关于场景 (2) 的问题:对于单线程异步服务器来说,这是一个有效的场景吗?

4

0 回答 0