我想了解
之间的区别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.createPool 而不是 mysql.createConnection 有什么好处?
答案 0 :(得分:12)
创建连接时,只有一个连接,它会一直持续到关闭它(或者它被mysql服务器关闭)。您可以通过引用传递它并重新使用它,也可以按需创建和关闭连接。
池是存储连接的地方。当您从池请求连接时,您将收到当前未使用的连接或新连接。如果您已经处于连接限制,它将等待连接可用,然后才能继续。这些池化连接不需要手动关闭,它们可以保持打开状态并且易于重复使用。
你使用的完全取决于你,因为他们都以两种不同的方式实现了同样的目标。