Как мне сохранить соединение открытым для 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. И т.п.
В любом случае вы должны быть готовы обработать потерянное соединение, поэтому вы также можете закрыть соединение, чтобы обычно все происходило предсказуемо.