Node.js MySQL模块中mysql.createConnection和mysql.createPool有什么区别?

use*_*794 11 mysql node.js

我试图了解它们之间的区别

mysql.createConnection

var mysql = require('mysql');

var connection = mysql.createConnection({
  host     : 'example.org',
  user     : 'bob',
  password : 'secret'
});
Run Code Online (Sandbox Code Playgroud)

mysql.createPool

var mysql = require('mysql');

var pool  = mysql.createPool({
  connectionLimit : 10,
  host            : 'example.org',
  user            : 'bob',
  password        : 'secret' 
});
Run Code Online (Sandbox Code Playgroud)

在Node.js的mysql模块中

我已经熟悉mysql.createConection了.这似乎是与MySQL建立连接的默认方式.

究竟什么mysql.createPool办?

我什么时候开始使用mysql.createPool?

使用mysql.createPool而不是mysql.createConnection有什么好处

use*_*654 16

创建连接时,只有一个连接,它会一直持续到关闭它(或者它被mysql服务器关闭).您可以通过引用传递它并重新使用它,或者您可以按需创建和关闭连接.

游泳池是存储连接的地方.当您从池请求连接时,您将收到当前未使用的连接或新连接.如果您已经处于连接限制,它将等待连接可用,然后才能继续.这些池化连接不需要手动关闭,它们可以保持打开状态并且易于重复使用.

您使用的完全取决于您,因为它们只是以两种不同的方式实现了相同的目标.