node.js - 什么时候应该在 NodeJS 中使用 MySQL 的连接池

标签 node.js connection-pooling

使用 Node-MySql 模块:

根据我的理解,多线程程序比单线程程序从连接池中受益更多。这是真的吗?

如果这个逻辑被证明是正确的,那么连接池在 Node.JS 应用程序中有益的场景是什么?

最佳答案

无论是单线程还是多线程,池在 allowing open connections to be reused 中仍然是有益的而不是被关闭后立即打开另一个:

When you are done with a connection, just call connection.release() and the connection will return to the pool, ready to be used again by someone else.

多线程的额外好处是池还可以管理多个并发连接:

Connections are lazily created by the pool. If you configure the pool to allow up to 100 connections, but only ever use 5 simultaneously, only 5 connections will be made.

不过,需要明确的是,Node 是多线程的。它只是使用了一种不同于典型模型的模型——1 个执行 JavaScript 的“应用程序”线程和处理异步 I/O 的首当其冲的多个“worker”线程。

关于node.js - 什么时候应该在 NodeJS 中使用 MySQL 的连接池,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17610793/

相关文章:

java - 使用 CMS GC 时,Tomcat 6 连接池变得古怪

mysql - Dbcp 连接池按预期创建更多连接

node.js - Typescript eslint - 缺少文件扩展名 "ts"导入/扩展

javascript - 为什么输入在 React 生成时不起作用

javascript - Sails.js 指定要从自动插入中排除的 JS 文件

javascript - 如何使用 Gulp.js 将流保存到多个目的地?

java - 重置/清除 MySQL 用户变量

node.js - Node 和 Mongoose - 在非对象上调用保存 : TypeError: Object. 键时出错

sql - 当连接关闭时,未提交的事务会发生什么?

java - 使用c3p0池连接数据库mysql