返回与 knex 数据库池的连接

use*_*248 5 mysql database connection-pooling node.js knex.js

我在我的节点应用程序中使用 knex 版本 3.10.10,连接到 MySQL DB。我在应用程序中的 knex 配置是使用池选项配置。

1)在发出查询后是否需要明确返回到池的连接?如果是 - 如何

2)在触发查询之前是否需要明确地对池的连接执行检查?

提前致谢

Gar*_*ryL 5

不,也没有必要这样做。

Knex 为您处理连接池。如果需要,您可以通过使用以下设置来调整池大小:pool: { min: 0, max: 7 }在连接设置中,并且如果您关心具体细节,文档还包含 Knex 用于池处理的库的链接。

knex 文档在此提供了一些相关信息:链接

Knex 将在查询或事务期间使用每个连接,然后将其释放回池中。

但是,如果您在不使用 Promises 的情况下实现事务(即作为一个单元保存或取消多个 SQL 语句),那么您将需要显式提交/回滚事务以正确完成事务,这也会将连接释放回交易完成后池。(有关 Knex 交易的更多信息,请参阅:此处)。