Как мне сохранить соединение открытым для mariadb в nodejs с помощью mariasql?

Я использую NodeJS, MariaDB и mariasql для хранения некоторых данных, когда происходит событие сокета. Событие может происходить каждые 10 минут или с задержкой до часов.

Теперь мне интересно, произойдет ли тайм-аут соединения, если в течение длительного времени не выполняются запросы.

Мой второй вопрос: нужно ли выполнять.end() после каждого запроса и восстанавливать соединение, если мне нужно выполнить другой запрос позже.

Вот простой код

db.query(
    'INSERT INTO log (log_id, data) VALUES (?, ?)',
    [ 1, 'log..' ],
    function(error, result) {
        ...
    }
);

db.end(); // Do I have to end the connection and reestablish later?

1 ответ

Плохо пытаться держать соединение открытым в течение "часов". Это может быть сетевой сбой или другой глюк. Вы жуете ресурсы на сервере MySQL. И т.п.

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

Другие вопросы по тегам