阅读(437) (20)

Node.js 与 MySQL 连接池

2021-06-18 10:23:22 更新

node.js模块的MySQL驱动程序为您提供了内置的连接池功能 假设您要创建一个具有5个连接的连接池:

var pool = mysql.createPool({
    connectionLimit: 5,
    host: 'localhost',
    user: 'root',
    password: '', 
    database: 'todoapp'
});
Js

要从池中获取连接,可以使用getConnection()方法:

pool.getConnection(function(err, connection) {
  // execute query
  // ...
});
Js

要在完成连接后将其连接到池,可以调用connection.release()。 之后,连接将在池中可用,并可以由其他人再次使用。

pool.getConnection(function(err, connection) {
  // execute query
  // ...
  connection.release();
});
Js

要关闭连接并将其从池中删除,请使用connection.destroy()方法。 如果下次需要,将在池中创建一个新的连接。

请注意,连接池中所建立的连接是懒惰的。例如,如果您使用5个连接配置连接池,但是同时仅使用2个连接,则连接池仅创建2个连接。

要关闭池中的所有连接,请使用pool对象的end()方法,如下所示:

pool.end(function(err) {
  if (err) {
    return console.log(err.message);
  }
  // close all connections
});
SQL

在本教程中,您已经学会了如何从node.js应用程序连接到MySQL数据库。