Dans la poursuite de l'optimisation de l'utilisation de MySQL au sein d'une application Node.js, le pooling de connexions apparaît comme une stratégie cruciale . En utilisant le module node-mysql, un module personnalisé nommé mysql.js peut être conçu pour établir un pool de connexions :
<code class="js">var mysql = require('mysql'); var pool = mysql.createPool({ host: 'localhost', user: 'root', password: 'root', database: 'guess' }); exports.pool = pool;</code>
En implémentant ce module, les requêtes MySQL suivantes peuvent être exécutées en accédant au pool :
<code class="js">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); }) }) }</code>
Cette approche offre plusieurs avantages, notamment :
Pour assurer une bonne gestion des ressources, il est essentiel de libérer les connexions après avoir terminé les requêtes :
<code class="js">connection.release();</code>
Vous pouvez également réécrire la section exports du module mysql pour directement renvoie une connexion, éliminant ainsi le besoin de getConnection() :
<code class="js">var getConnection = function(callback) { pool.getConnection(function(err, connection) { callback(err, connection); }); }; module.exports = getConnection;</code>
Cette approche révisée rationalise le processus d'acquisition de connexion tout en conservant les avantages du regroupement de connexions.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!