admin管理员组

文章数量:814863

Sequelize事务中使用了多少个连接

Sequelize's transaction提交或回滚后是否自动将连接返回连接池? (我在没有特定配置的情况下将Sequelize与MSSQL一起使用)?我的交易是手动创建和管理的,所有查询都使用{transaction: t}选项传递。我有两个问题:

  1. 如果在提交或回滚后未自动将连接返回到池中,如何强制执行此操作?
  2. 我在交易中的CRUD查询存储在一个数组中。据我了解,一个事务从池中获取一个连接,如果可以的话,使用Promise.all(queries)而不是运行queries.forEach(q => await q)有什么好处?
回答如下:
  1. 您应该查看默认的连接池参数:

options.pool.idle-连接释放前可以空闲的最长时间,以毫秒为单位。

options.pool.evict-时间间隔(以毫秒为单位),在此间隔之后,sequelize-pool将删除空闲连接。

这意味着在事务提交或回滚之后,其连接将变为空闲,并由上述选项进行管理。2.根本没有好处,并且在执行SQL语句的顺序中,事务应该是可预测且可靠的(对于以下更改,必须进行先前的更改)

本文标签: Sequelize事务中使用了多少个连接