
Node.js と MySQL による接続プーリング
アプリケーションによる MySQL の使用を最適化すると、パフォーマンスと効率が向上します。この記事では、node-mysql モジュールを使用した接続プーリング手法について説明します。
接続プーリング
接続プーリングにより、クエリごとにデータベースへの個別の接続を確立する必要がなくなります。代わりに、再利用可能な接続のプールが維持され、クエリの実行速度が向上し、リソース消費が削減されます。
接続プーリングの実装
接続プーリングを実装するには、次を使用してプール オブジェクトを作成します。 mysql モジュールの createPool() 関数:
1 2 3 4 5 6 7 8 | var mysql = require ( 'mysql' );
var pool = mysql.createPool({
host: 'localhost' ,
user: 'root' ,
password: 'root' ,
database: 'guess'
});
|
ログイン後にコピー
再利用のためにプール オブジェクトを別のモジュール (例: mysql.js) に保存します。
データベースのクエリ
接続プールを使用してクエリを実行するには、mysql.js モジュールを要求し、接続を取得します:
1 2 3 4 5 6 7 8 9 | 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 モジュールを変更します:
1 2 3 4 5 6 7 | var getConnection = function (callback) {
pool.getConnection( function (err, connection) {
callback(err, connection);
});
};
module.exports = getConnection;
|
ログイン後にコピー
これにより、接続を直接取得できるようになります:
1 2 3 4 5 | var getConnection = require ( '../db/mysql' );
getConnection( function (err, connection) {
});
|
ログイン後にコピー
以上がNode.js と MySQL による接続プーリングはアプリケーションのパフォーマンスをどのように向上させますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。