📜  nodejs mysql 连接池 - Javascript (1)

📅  最后修改于: 2023-12-03 14:44:44.074000             🧑  作者: Mango

Node.js MySQL 连接池 - Javascript

在 Node.js 中使用 MySQL,连接池是一种重要的技术。连接池可以提高性能,减少连接建立和断开的开销,保持连接状态,提供连接复用等功能。本文将介绍如何使用 Node.js 连接池连接 MySQL 数据库。

准备工作

在使用连接池之前,我们需要确保安装了 Node.js 和 MySQL。

安装依赖

使用 Node.js 连接 MySQL 需要先安装 mysql 模块和连接池模块 mysql2。在命令行界面中输入以下命令即可安装:

npm install mysql mysql2
连接池使用

连接池使用的基本流程如下:

  1. 创建连接池对象;
  2. 从连接池中获取连接;
  3. 执行 SQL 语句;
  4. 处理执行结果;
  5. 释放连接。

下面是具体的代码实现。

const mysql = require('mysql2');

// 创建连接池对象
const pool = mysql.createPool({
  host: 'localhost',
  user: 'root',
  password: 'password',
  database: 'my_database',
  connectionLimit: 10 // 连接池的大小
});

// 从连接池中获取连接,执行 SQL 语句,并处理执行结果
pool.getConnection((err, conn) => {
  if (err) throw err; // 处理错误

  conn.query('SELECT * FROM my_table;', (err, rows) => {
    if (err) throw err; // 处理错误

    console.log(rows); // 处理执行结果

    conn.release(); // 释放连接
  });
});

在连接池对象中,connectionLimit 指定了该连接池的大小,即最大连接数。连接池会维护连接池中连接的可用性,当需要连接时,从池中获取一个空闲连接,并将其标记为不可用。当连接不再需要时,将其释放回池中,标记为可用。如果连接池中所有连接都被标记为不可用,则后续请求将被阻塞,直到有一个连接变为可用。这样可以避免频繁地建立连接和断开连接,提高性能。

总结

连接池是使用 Node.js 连接 MySQL 数据库的重要技术之一。在使用连接池时,需要先创建连接池对象,然后从连接池中获取连接,执行 SQL 语句,并处理执行结果,最后释放连接。连接池可以提高性能,减少连接建立和断开的开销,保持连接状态,提供连接复用等功能。