我找到了一个非常好的模块(node-mysql)来连接Mysql数据库。
模块很好,我只有一个关于“何时”打开与Mysql的连接的问题。
在开始使用 node 之前,我总是使用 php-mysql,对于每个请求,我打开一个连接...然后查询....然后关闭。
node也一样吗?对于每个请求,我是否必须打开一个连接然后关闭它?或者我可以使用持久连接吗?
谢谢
最佳答案
open-query-close 模式通常依赖于连接池来获得良好的性能。 Node-mysql 没有任何内置的连接池,因此如果您使用此模式,您将支付每次运行查询时建立新连接的成本(在您的情况下可能会或可能不会好)。
因为 node 是单线程的,你可以摆脱一个单一的持久连接(特别是因为 node-mysql 会在连接终止时尝试重新连接),但是如果你打算使用事务,那么这种方法可能会出现问题(因为 Node 客户端的所有用户共享相同的连接和相同的事务状态)。此外,单个连接可能会限制吞吐量,因为一次只能执行一个 sql 命令。
因此,为了交易安全和性能,最好的情况是使用某种池化。您可以自己在您的应用程序中构建一个简单的池,或者调查有哪些其他软件包可以提供该功能。但是打开-查询-关闭或持久连接方法也可能适用于您的情况。
关于mysql - 何时使用 node-mysql 模块打开连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6608123/