Node.js プログラムで MySQL 接続プールを正しく使用および管理するにはどうすればよいですか?
Node.js はサーバーサイド開発言語として非常に人気があり、その非同期のイベント駆動型機能により、大量の同時リクエストの処理に優れています。データベースは開発プロセスに不可欠な部分です。 MySQL は、成熟した信頼性の高いリレーショナル データベース管理システムとして、Node.js 開発で一般的に使用されるデータベースの 1 つでもあります。
Node.js では、データベース接続を効率的に管理するために、開発者は接続プールを使用することがよくあります。接続プールを使用すると、各リクエストでのデータベース接続の確立と終了のオーバーヘッドが削減され、パフォーマンスと効率が向上します。以下では、Node.js プログラムで MySQL 接続プールを正しく使用および管理する方法を紹介します。
npm install mysql mysql2 --save
const mysql = require('mysql'); const pool = mysql.createPool({ host: 'localhost', user: 'root', password: 'password', database: 'database_name', connectionLimit: 10 // 连接池中的最大连接数 }); module.exports = pool;
この例では、mysql ライブラリを使用して、pool
という名前の接続プールを作成し、ホスト名を指定します。データベース、ユーザー名、パスワード、データベース名、および接続プール内の最大接続数。
const pool = require('./db'); // 引入连接池 pool.getConnection((error, connection) => { if (error) throw error; // 执行数据库操作 connection.query('SELECT * FROM table_name', (error, results, fields) => { // 处理查询结果 if (error) throw error; console.log(results); // 释放连接 connection.release(); }); });
この例では、pool.getConnection
メソッドを使用して、接続プールから接続オブジェクトを取得します。を指定し、これを渡します。 接続オブジェクトはデータベース操作を実行します。操作が完了したら、connection.release()
メソッドを呼び出して接続を接続プールに戻し、他のリクエストが引き続きその接続を使用できるようにする必要があります。
error
パラメータをチェックすることで処理できます。たとえば、try-catch ブロックを使用してエラーをキャッチして処理したり、統合処理のためにグローバル エラー処理ミドルウェアにエラーを渡したりできます。 pool.getConnection((error, connection) => { if (error) { // 处理错误 console.error(error); return; } // 执行数据库操作 connection.query('SELECT * FROM table_name', (error, results, fields) => { if (error) { // 处理错误 console.error(error); return; } console.log(results); // 释放连接 connection.release(); }); });
options
を設定し、waitForConnections
を true
に設定します。これにより、接続プールにアイドル状態の接続がないときに、 、新しい接続リクエストは、接続が利用可能になるまで遅延されます。 const pool = mysql.createPool({ host: 'localhost', user: 'root', password: 'password', database: 'database_name', connectionLimit: 10, waitForConnections: true // 设置为true });
概要:
MySQL 接続プールを正しく使用および管理することで、Node.js プログラムのパフォーマンスと信頼性を向上させることができます。接続プールが大きすぎる、または小さすぎるという問題を避けるために、接続プールのサイズは特定の状況に応じて調整する必要があることに注意してください。さらに、潜在的なセキュリティ問題やデータの一貫性の問題を回避するために、データベース操作のエラーを適切に処理する必要があります。
以上がNode.js で MySQL 接続プールを使用および管理するためのベスト プラクティスの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。