gpt4 book ai didi

javascript - 连接池和按小时计费的实例

转载 作者:行者123 更新时间:2023-11-28 05:54:41 27 4
gpt4 key购买 nike

我试图更好地理解连接池在 knex 中的工作原理。

将来,我希望将我的应用程序部署到具有按小时计费的 MySQL 数据存储的 PaaS。我担心的是,使用连接池(如 knex 所做的那样)会导致我保持与我不再需要的数据存储的连接打开,从而花费我的实例时间。

因此,我的问题是:在池中的连接长时间不使用后,knex是否会自动删除它们?此外,如果没有缩减连接,我应该怎样做才能确保当池中的所有连接都处于非事件状态时,我不会为未使用的实例时间付费?

我想,如果没有自动缩小规模,我将需要能够访问池中的事件连接,以确保我知道所有连接何时处于非事件状态,然后销毁池。不幸的是,我不完全确定如何做到这一点(我在文档中找不到它)。

最佳答案

Knex 使用 Pool2 进行池化,默认最少打开 2 个连接(请参阅 knex.js pooling )。因此,如果使用这些默认值,您的担忧是有道理的。

要改变行为,请尝试以下操作:

var knex = require('knex')({ 
client: '<your driver, mysql?>',
connection: { <your connection parameters> },
pool: {
min: 0 /* no connections if idle */,
idleTimeout: 10*1000 /* 10 secs idle connections are closed */
}});

关于javascript - 连接池和按小时计费的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37802220/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com