Является ли хорошей практикой открывать новое соединение для каждого внешнего запроса при использовании MySQL и NodeJs? - PullRequest
0 голосов
/ 10 января 2020

В частности, я использую MariaDB с Express, и неясно, нужно ли мне открывать новое соединение для каждого запроса или сохранять одно открытое, как в MongoDB.

Так что connection.end (); использоваться вообще?

Ответы [ 2 ]

0 голосов
/ 10 января 2020

Мой совет: используйте шаблон Singelton Design

Создайте файл db_settings. json

{
    host : 'sm',
    user : 'db_username',
    password : 'db_password',
    database : 'database_name'
}

Создайте файл в дБ. js

var mysql = require('mysql');
var settings = require('./db_settings.json');
var db;

function connectDatabase() {
    if (!db) {
        db = mysql.createConnection(settings);

        db.connect(function(err){
            if(!err) {
                console.log('Database is connected!');
            } else {
                console.log('Error connecting database!');
            }
        });
    }
    return db;
}

module.exports = connectDatabase();`

А когда вам нужно подключиться к базе данных или сделать запрос, просто импортируйте файл БД

var db = require('./db');
0 голосов
/ 10 января 2020

Было бы плохой практикой открывать новое соединение для каждого запроса в вашем Node.js приложении. Вы можете открыть соединение, сохранить его и использовать в своем приложении. Если у вас больше нагрузки на ваше приложение, в этом случае вы можете использовать пул соединений. Для получения дополнительной информации см. https://www.npmjs.com/package/mysql#pooling -соединения .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...