Próbuję dowiedzieć się, jak zorganizować moją aplikację, aby użyć najbardziej wydajnego sposobu MySQL. Używam modułu node-mysql. Inne wątki tutaj zasugerował, aby korzystać z puli połączeń więc założyć mały moduł mysql.jsnode.js + łączenie mysql pooling
var mysql = require('mysql');
var pool = mysql.createPool({
host : 'localhost',
user : 'root',
password : 'root',
database : 'guess'
});
exports.pool = pool;
Teraz gdy chcę MySQL Query wymagam tego modułu, a następnie kwerendy databse
var mysql = require('../db/mysql').pool;
var test = function(req, res) {
mysql.getConnection(function(err, conn){
conn.query("select * from users", function(err, rows) {
res.json(rows);
})
})
}
Czy to dobre podejscie? Nie mogłem znaleźć zbyt wielu przykładów używania połączeń mysql poza tym bardzo prostym, w którym wszystko jest wykonywane w głównym skrypcie app.js, więc nie wiem, co to jest konwencja/najlepsze praktyki.
Czy zawsze powinienem używać connection.end() po każdym zapytaniu? Co jeśli zapomnę o tym gdzieś?
Jak przepisać część eksportu mojego modułu mysql, aby zwrócić tylko połączenie, więc nie muszę pisać getConnection() za każdym razem?
Zaledwie heads-up. Teraz jest to 'connection.release();' dla pul. – sdanzig
To prawda.Zmieniłem to. – Klaasvaak
Ponadto, jeśli mogę, proponuję użyć obietnicy zamiast wywołania zwrotnego, ale to tylko preferencja ... świetne rozwiązanie jednak – Spock