ホームページ >データベース >mysql チュートリアル >Node.js と MySQL による接続プーリングはアプリケーションのパフォーマンスをどのように向上させますか?

Node.js と MySQL による接続プーリングはアプリケーションのパフォーマンスをどのように向上させますか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-05 09:10:03267ブラウズ

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

Node.js と MySQL による接続プーリング

アプリケーションによる MySQL の使用を最適化すると、パフォーマンスと効率が向上します。この記事では、node-mysql モジュールを使用した接続プーリング手法について説明します。

接続プーリング

接続プーリングにより、クエリごとにデータベースへの個別の接続を確立する必要がなくなります。代わりに、再利用可能な接続のプールが維持され、クエリの実行速度が向上し、リソース消費が削減されます。

接続プーリングの実装

接続プーリングを実装するには、次を使用してプール オブジェクトを作成します。 mysql モジュールの createPool() 関数:

var mysql = require('mysql');

var pool = mysql.createPool({
    host: 'localhost',
    user: 'root',
    password: 'root',
    database: 'guess'
});

再利用のためにプール オブジェクトを別のモジュール (例: mysql.js) に保存します。

データベースのクエリ

接続プールを使用してクエリを実行するには、mysql.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);
        });
    });
};

ベスト プラクティス

  • プール サイズ: アプリケーションの予想される負荷に基づいて最適なプール サイズを決定します。
  • 接続処理: release() を使用して接続をプールに解放します。メソッド。
  • 接続終了: 接続が不要になった場合は、プールに解放された場合でも手動で閉じます。

接続の返却プールから

接続の取得を簡略化するには、接続を取得する関数を返すように mysql モジュールを変更します:

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

module.exports = getConnection;

これにより、接続を直接取得できるようになります:

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

getConnection(function (err, connection) {
    // Use the connection...
});

以上がNode.js と MySQL による接続プーリングはアプリケーションのパフォーマンスをどのように向上させますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。