gpt4 book ai didi

javascript - 我应该什么时候开始和结束我的node.js SQL 连接?我应该从一开始就使用池化吗?

转载 作者:行者123 更新时间:2023-12-02 22:44:14 25 4
gpt4 key购买 nike

我正在启动我的第一个 Express Web 应用程序。我不太明白何时/何处启动 SQL 连接以及何时结束它的逻辑。

在线复制粘贴项目来开始,我在同一个 db.js 文件中进行了连接和关闭。似乎无论哪里需要,它都会立即建立联系。无论是在 APP.JS 入口点,还是只是某个模型文件需要它。

因此,删除connection.end()方法解决了由于“调用退出后无法将查询排入队列”而无法插入查询的问题。但是,如果我在函数插入后手动连接并结束,我需要创建一个新的数据库对象,否则 connect() 将无法工作。

我真正应该在哪里“启动”连接。来自 app.js 中的 require 吗?因为它从任何地方的任何需求开始,这还重要吗?我什么时候输入connection.end()命令?它不像桌面应用程序,因此杀死 VS Code 上的节点服务器无论如何都会结束它。

我只是不明白,Node.js 文档并没有真正为我说明这一点。我应该使用池化吗?在哪里关闭连接?为什么要采用一种方式或另一种方式?我真的尝试用谷歌搜索它,但没有任何内容超出了原因和地点约定。

最佳答案

通常,数据库连接应在查询执行之前创建,并在执行后立即关闭。

长时间的数据库连接会耗尽服务器的资源,并可能导致连接限制耗尽(通常由客户端驱动程序设置上限)。应用程序中的并发使用越多,长期连接就越容易导致问题。

从头开始创建连接是一个消耗资源和时间的过程。因此,您绝对应该使用连接池,这使得连接的“创建”成为一种快速操作,只需从池中获取可用连接即可。

通过尽快将连接释放回池中,您可以将其释放给其他工作人员使用。

https://softwareengineering.stackexchange.com/a/142068/167591

关于javascript - 我应该什么时候开始和结束我的node.js SQL 连接?我应该从一开始就使用池化吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58478921/

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