如何使用协程使用postgres数据库

时间:2019-06-25 09:57:11

标签: python-asyncio psycopg2 aiopg

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

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

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

1)服务器应仅保留一个连接,而每个协程应仅在该连接对象上aquire()一个新的游标?

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

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

关于方案(2)的问题:这对于单线程asyncio服务器完全有效吗?

0 个答案:

没有答案
相关问题