Mengoptimumkan Aplikasi Node.js dengan Pengumpulan Sambungan MySQL
Apabila membangunkan aplikasi Node.js yang berinteraksi dengan MySQL, pengoptimuman prestasi pangkalan data adalah penting. Satu teknik yang berkesan ialah melaksanakan pengumpul sambungan, yang membolehkan berbilang sambungan serentak diuruskan dengan cekap.
Struktur Pengumpulan Sambungan
Untuk mencipta kumpulan sambungan, gunakan modul mysql seperti berikut:
<code class="javascript">const mysql = require('mysql'); const pool = mysql.createPool({ host: 'localhost', user: 'root', password: 'root', database: 'guess' });</code>
Menyiasat Pangkalan Data
Setelah kumpulan ditubuhkan, tanya pangkalan data menggunakan kaedah getConnection():
<code class="javascript">pool.getConnection(function(err, connection) { connection.query("select * from users", function(err, rows) { res.json(rows); }) });</code>
Amalan Terbaik
Secara amnya disyorkan untuk menggunakan pengumpulan sambungan untuk prestasi optimum. Selain itu, adalah penting untuk melepaskan sambungan kembali ke kolam selepas digunakan dengan connection.release(). Ini menghalang sambungan daripada melahu dan menyumbat kolam.
Pengurusan Sambungan Ringkas
Untuk menyelaraskan proses sambungan, pertimbangkan untuk mengubah suai modul mysql untuk mengembalikan sambungan secara terus tanpa menggunakan getConnection():
<code class="javascript">const getConnection = function(callback) { pool.getConnection(function(err, connection) { callback(err, connection); }); }; module.exports = getConnection;</code>
Ini membenarkan sintaks yang dipermudahkan apabila menanyakan pangkalan data:
<code class="javascript">const mysql = require('../db/mysql'); mysql((err, connection) => { connection.query("select * from users", function(err, rows) { res.json(rows); }) });</code>
Dengan mengikuti amalan terbaik ini untuk pengumpulan sambungan MySQL dalam aplikasi Node.js, anda boleh meningkatkan prestasi, mengoptimumkan penggunaan sumber dan memastikan interaksi pangkalan data yang cekap.
Atas ialah kandungan terperinci Bagaimanakah MySQL Connection Pooling Boleh Meningkatkan Prestasi Aplikasi Node.js?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!