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

pkln4tw6  于 2023-05-16  发布在  Mysql
关注(0)|答案(1)|浏览(183)

我想弄明白
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.createConection了。这似乎是与MySQL建立连接的默认方式。
mysql.createPool到底是做什么的?
什么时候开始使用mysql.createPool
使用mysql.createPoolmysql.createConnection相比有什么好处?

0ejtzxu1

0ejtzxu11#

当你创建一个连接时,你只有一个连接,它会持续到你关闭它(或者它被mysql服务器关闭)。您可以通过引用传递它并重用它,也可以根据需要创建和关闭连接。
池是存储连接的地方。当您从池中请求连接时,您将收到当前未使用的连接或新连接。如果您已经达到连接限制,它将等待直到连接可用,然后才继续。这些池连接不需要手动关闭,它们可以保持打开状态,并且易于重用。
你使用哪一个完全取决于你,因为它们都实现了相同的目标,只是以两种不同的方式。

相关问题