dan*_*nvk 7 postgresql node.js sequelize.js
我有一个服务器,我用Express和node-postgres(pg)编写.它创建自己的数据库池:
const dbPool = new pg.Pool(dbConfig);
Run Code Online (Sandbox Code Playgroud)
并使用此连接直接运行SQL查询.
现在我正在添加一个新表和相应的REST API.我想用sequelize和epilogue来减少样板.不幸的是,sequelize想要创建自己的数据库连接池:
const sequelize = new Sequelize(database, user, password, config);
Run Code Online (Sandbox Code Playgroud)
是否可以重用现有的连接池,或者在现有pg代码和新sequelize代码之间共享?
Sequelize 不提供传递自定义池的选项,但您可以传递将用于创建 Sequelize 池的选项,例如最小和最大连接。
对于您的情况,我要做的是检查您的数据库连接总数,并根据两个池的预期使用情况进行重新分区。
例如,如果数据库上最多有 20 个连接:
const dbPool = new pg.Pool({
max: 10
});
const sequelize = new Sequelize(/* ... */, {
// ...
pool: {
max: 10,
min: 0,
acquire: 30000,
idle: 10000
}
});
Run Code Online (Sandbox Code Playgroud)
我还建议使用环境变量来设置sequelize池和nod-pg池上的最大连接,以便您可以在需要时轻松调整重新分区。
| 归档时间: |
|
| 查看次数: |
440 次 |
| 最近记录: |