我的印象是,通过SQLAlChemy进行的数据库调用将是挡路的,除了同步代码外,不适合在其他任何地方使用.我说得对吗(我希望我说错了!)或者,有没有办法将其配置为非阻塞?

推荐答案

您可以使用gevent以非阻塞方式使用SQLA.下面是一个使用mental copg2的示例,使用的是mental copg2的coroutine support:

https://bitbucket.org/zzzeek/green_sqla/

我也听说人们对pymysql人也有同样的 idea .由于pymysql在纯Python中使用套接字库,gevent将套接字库修补为异步.

Database相关问答推荐

DynamoDB 扫描 - 具有相同分区键的项目按顺序返回

SQL 查询至少其中一项

分布式数据库管理系统 (DDBMS) 中的水平与垂直碎片

PostgreSQL 是否对只读事务进行了一些性能优化

在 Oracle 的 Check 语句中使用子查询

如何从表列中删除唯一约束?

执行语句还是运行脚本?

如何将mysql的默认端口从3306更改为3360

在 SQL Server 2008 中区分两个表架构的最简单方法是什么?

将 .csv 文件导入 Android 中的 Sqlite

Oracle:如何在 Oracle SQL 中将十六进制转换为十进制?

数据库与微服务的一致性

PHP 可以与 MS SQL 数据库一起使用吗

何时在关系数据库中使用枚举或小表?

如何在多列上创建 FULLTEXT 索引?

对于 N:M 关系,在 MongoDB 中推荐的级联删除等效项是什么?

Select 多模型 DBMS 时要考虑哪些因素? (OrientDB 与 ArangoDB)

NoSQL 数据库是否使用或需要索引?

SqlParameterCollection only accepts non-null SqlParameter type objects, not String objects

如何在 Java 中检测 SQL 表的存在?