Начинаем работать с MySQL в NodeJS. Часть 2

Начинаем работать с MySQL в NodeJS. Часть 2

Начинаем работать с MySQL в NodeJS. Часть 2

Начинаем работать с MySQL в NodeJS. Часть 2

В прошлой статье мы рассмотрели азы подключения к серверу базы данных MySQL из NodeJS. А в этой рассмотрим работу с пулом подключений MySQL.

Объединение подключений в пул

Приведенный ранее код не предназначен для использования в реальных условиях (на продакшене). В промышленном сценарии мы должны использовать пул соединений для повышения производительности MySQL и не перегружать сервер MySQL слишком большим количеством подключений.

Драйвер MySQL в NodeJS предоставляет встроенную функцию объединения соединений в пул. Предположим, вы хотите создать пул с 5 соединениями.Вот как это можно сделать:


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

Чтобы получить соединение из пула, необходимо использовать метод getConnection():


pool.getConnection(function(err, connection) {
  // здесь работаем с полученным соединением 
});

Чтобы вернуть соединение обратно в пул после того, как вы закончите с ним работать, вы можете вызвать connnection.release(). После вызова этого метода, соединение будет доступно в пуле и готово к повторному использованию каким-то другим кодом.


pool.getConnection(function(err, connection) {
  // выполняем запрос
  // ...
  connnection.release(); // освобождаем соединение
});

Чтобы закрыть соединение и удалить его из пула, необходимо использовать метод connection.destroy(). Новое соединение будет создано в пуле, если оно понадобится в следующий раз.

Важно отметить, что пул будет создавать соединения лениво. Что это означает? Например, если вы настроили пул с 5 подключениями, но одновременно используете только 2 подключения, то пул создаст непосредственно только 2 подключения.

Чтобы закрыть все соединения в пуле, можно использовать метод end() объекта пула следующим образом:


pool.end(function(err) {
  if (err) {

    console.log(err.message);
  }

  // закрываем соединения
});

Таким образом из этой и предыдущей статьи мы рассмотрели два способа открытия соединения с БД MySQL в NodeJS, а в следующей
рассмотрим непосредственно выполнение SQL-запросов с полученным соединением.

Источник

НЕТ КОММЕНТАРИЕВ

Оставить комментарий

19 − девять =