Maison > base de données > tutoriel mysql > Comment le pooling de connexions avec Node.js et MySQL améliore-t-il les performances de votre application ?

Comment le pooling de connexions avec Node.js et MySQL améliore-t-il les performances de votre application ?

Patricia Arquette
Libérer: 2024-11-05 09:10:03
original
266 Les gens l'ont consulté

How Does Connection Pooling with Node.js and MySQL Boost Your Application's Performance?

Regroupement de connexions avec Node.js et MySQL

L'optimisation de l'utilisation de MySQL par votre application peut améliorer les performances et l'efficacité. Cet article explore les techniques de regroupement de connexions à l'aide du module node-mysql.

Regroupement de connexions

Le regroupement de connexions élimine le besoin d'établir des connexions individuelles à la base de données pour chaque requête. Au lieu de cela, un pool de connexions réutilisables est conservé, améliorant la vitesse d'exécution des requêtes et réduisant la consommation de ressources.

Implémentation du pool de connexions

Pour implémenter le pool de connexions, créez un objet pool à l'aide la fonction createPool() du module mysql :

var mysql = require('mysql');

var pool = mysql.createPool({
    host: 'localhost',
    user: 'root',
    password: 'root',
    database: 'guess'
});
Copier après la connexion

Stockez l'objet pool dans un module séparé (par exemple, mysql.js) pour réutilisation.

Interrogation de la base de données

Pour exécuter des requêtes à l'aide du pool de connexions, nécessitez le module mysql.js et obtenez une connexion :

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

Bonnes pratiques

  • Taille du pool : déterminez une taille de pool optimale en fonction de la charge attendue de votre application.
  • Gestion des connexions : libérez les connexions au pool à l'aide de release() méthode.
  • Fin de connexion : fermez les connexions manuellement si elles ne sont plus nécessaires, même si elles sont relâchées dans le pool.

Renvoi d'une connexion depuis le Pool

Pour simplifier la récupération de connexion, modifiez le module mysql pour renvoyer une fonction qui récupère une connexion :

var getConnection = function (callback) {
    pool.getConnection(function (err, connection) {
        callback(err, connection);
    });
};

module.exports = getConnection;
Copier après la connexion

Cela permet d'obtenir directement des connexions :

var getConnection = require('../db/mysql');

getConnection(function (err, connection) {
    // Use the connection...
});
Copier après la connexion

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