在 Sequelize 操作后关闭连接是一个好习惯吗?

dbr*_*rrt 4 database pool node.js sequelize.js

目前我正在使用 NodeJS/TypeScript 在 Sequelize 之上设计一个应用程序,我想知道它是否会导致性能问题而不关闭连接。

例如,在微服务中,我需要来自 1 个实体的数据。

const resolver = async (,,{db}) => {
  const entity1 = await db.models.Entity1.findOne()
  return entity1
}
Run Code Online (Sandbox Code Playgroud)

调用后是否需要关闭连接findOne?

我的理解是,以下配置定义了多个并发连接,空闲是一个参数,使连接管理器关闭空闲连接的连接:

module.exports = {
  development: {
    host: 'db.sqlite',
    dialect: 'sqlite',
    pool: {
        max:5,
        min:0,
        idle:10000
    }
  },
  test: {
    host: 'test.sqlite',
    dialect: 'sqlite',
    pool: {
        max:5,
        min:0,
        idle:10000
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

欢迎任何建议

tad*_*man 7

Sequelize 维护一个内部数据库连接池,这就是参数的用途pool,所以这不是必需的。每个调用实际上临时借用一个连接,然后在完成后将其返回到池中。

手动关闭该连接可能会毒害池并导致性能问题。