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

25

我正试图理解mysql.createConnection之间的区别。

var mysql = require('mysql');

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

mysql.createPool

var mysql = require('mysql');

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

在 Node.js 的 mysql 模块中。

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

mysql.createPool 到底是做什么的?

何时开始使用 mysql.createPool

相较于 mysql.createConnection,使用mysql.createPool有哪些好处?

1个回答

39

当您创建连接时,您只有一个连接,并且它会一直持续到关闭它(或被MySQL服务器关闭)。您可以通过引用传递并重复使用它,或者根据需要创建和关闭连接。

池是存储连接的位置。当您从池请求连接时,您将收到当前未使用或新连接的连接。如果您已经达到连接限制,它将等待可用连接后才继续。这些池化连接无需手动关闭,它们可以保持开放状态并轻松重用。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接