Maison > base de données > tutoriel mysql > Comment le pooling de connexions peut-il améliorer la connectivité MySQL dans les applications Node.js ?

Comment le pooling de connexions peut-il améliorer la connectivité MySQL dans les applications Node.js ?

Linda Hamilton
Libérer: 2024-11-05 06:17:01
original
574 Les gens l'ont consulté

How Can Connection Pooling Enhance MySQL Connectivity in Node.js Applications?

Obtenir une connectivité MySQL efficace avec Node.js et le pooling de connexions

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>
Copier après la connexion

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>
Copier après la connexion

Cette approche offre plusieurs avantages, notamment :

  • Optimisation des connexions : Le regroupement de connexions réduit la surcharge associée à la création et à la destruction de connexions à la base de données.
  • Performances améliorées :En réutilisant les connexions, l'application peut éviter la latence liée à l'établissement de nouvelles connexions pour chaque requête.
  • Gestion des erreurs : Le pool gère les connexions et gère automatiquement toute erreur de connexion.

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>
Copier après la connexion

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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal