Regroupement de connexions MySQL efficace avec Node.js
Pour obtenir des performances optimales lors de l'accès à une base de données MySQL à l'aide de Node.js, la mise en œuvre du regroupement de connexions est crucial. Cet article démontre une approche efficace pour structurer votre application à cet effet à l'aide du module node-mysql.
Module de pool de connexions
L'exemple fourni dans la question crée une connexion pool en utilisant le code suivant :
<code class="javascript">var pool = mysql.createPool({ host: 'localhost', user: 'root', password: 'root', database: 'guess' });</code>
Cela établit un ensemble de connexions prêtes à l'emploi qui peuvent être acquises et libérées selon les besoins, éliminant ainsi la surcharge de créer et détruire des connexions individuelles pour chaque requête.
Requêtes de base de données
Pour exécuter une requête, vous pouvez demander le module mysql et initialiser une connexion :
<code class="javascript">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>
Retour de connexion uniquement
Pour simplifier l'accès à la connexion, vous pouvez modifier les exports section de votre module mysql comme suit :
<code class="javascript">var pool = mysql.createPool({ ... }); var getConnection = function(callback) { pool.getConnection(function(err, connection) { callback(err, connection); }); }; module.exports = getConnection;</code>
Avec cette modification, vous pouvez obtenir la connexion en appelant getConnection au lieu de pool.getConnection.
Libérer les connexions
Après avoir complété une requête, il est indispensable de libérer la connexion pour la renvoyer au pool :
<code class="javascript">connection.release();</code>
Le fait de ne pas libérer les connexions peut entraîner un blocage, ce qui peut éventuellement épuiser le pool et dégrader les performances.
Conclusion
Par en utilisant le regroupement de connexions et en suivant ces bonnes pratiques, vous pouvez établir un mécanisme de gestion de connexion efficace pour votre application Node.js. Cette approche permet un accès transparent et optimisé à votre base de données MySQL, garantissant des performances et une évolutivité optimales.
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!