Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Nodejs-Cluster mit MySQL-Verbindungen

Nach einigem Ausprobieren verwende ich Option 2 und es funktioniert gut. Die Verbindung global erstellen und im Cluster verwenden.

Jedes Mal, wenn Sie eine Abfrage benötigen, getConnection.

pool.getConnection(function(err, connection) {
        if(err) {
            console.log('Error getting sql connection');
            console.dir(err);

            if(typeof connection !== "undefined")
                connection.release();

            callback(err);
        }

        if(typeof cb === "undefined") {
            //console.log('with 2 params');
            connection.query( sql, function(err, rows) {
                connection.release();
                console.dir(sql);
                // console.dir('data=>' + data);

                if(err) {
                    console.log('err:' + err);
                    callback(err, rows);
                }else{
                    console.log( rows );
                    callback(err, rows);
                }
            });
        } else {
            // console.log('with 3 params:' + cb);
            connection.query( sql, data, function(err, rows){
                connection.release();
                console.log(sql);
                console.dir(data);

                if(err) {
                    console.log('err:' + err);
                    callback(err, rows);
                }else{
                    console.log( rows );
                    callback(err, rows);
                }

            });
        }
    });
}