Начинаем работать с 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-запросов с полученным соединением.

Источник

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

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