Rumah >pangkalan data >tutorial mysql >Bagaimanakah Penyatuan Sambungan Boleh Meningkatkan Ketersambungan MySQL dalam Aplikasi Node.js?

Bagaimanakah Penyatuan Sambungan Boleh Meningkatkan Ketersambungan MySQL dalam Aplikasi Node.js?

Linda Hamilton
Linda Hamiltonasal
2024-11-05 06:17:01547semak imbas

How Can Connection Pooling Enhance MySQL Connectivity in Node.js Applications?

Mencapai Ketersambungan MySQL yang Cekap dengan Node.js dan Pengumpulan Sambungan

Dalam usaha mengoptimumkan penggunaan MySQL dalam aplikasi Node.js, pengumpulan sambungan muncul sebagai strategi penting . Dengan menggunakan modul nod-mysql, modul tersuai bernama mysql.js boleh dibuat untuk mewujudkan kumpulan sambungan:

<code class="js">var mysql = require('mysql');

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

exports.pool = pool;</code>

Dengan melaksanakan modul ini, pertanyaan MySQL seterusnya boleh dilaksanakan dengan mengakses kumpulan:

<code class="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);
        })
    })
}</code>

Pendekatan ini menawarkan beberapa kelebihan, termasuk:

  • Pengoptimuman Sambungan: Pengumpulan sambungan mengurangkan overhed yang berkaitan dengan mencipta dan memusnahkan sambungan pangkalan data.
  • Prestasi yang Dipertingkat: Dengan menggunakan semula sambungan, aplikasi boleh mengelakkan kependaman mewujudkan sambungan baharu untuk setiap pertanyaan.
  • Pengendalian Ralat: Kolam menguruskan sambungan dan pengendalian sebarang ralat sambungan secara automatik.

Untuk memastikan pengurusan sumber yang betul, adalah penting untuk melepaskan sambungan selepas menyelesaikan pertanyaan:

<code class="js">connection.release();</code>

Sebagai alternatif, tulis semula bahagian eksport modul mysql untuk terus mengembalikan sambungan, menghapuskan keperluan untuk getConnection():

<code class="js">var getConnection = function(callback) {
    pool.getConnection(function(err, connection) {
        callback(err, connection);
    });
};

module.exports = getConnection;</code>

Pendekatan yang disemak ini memperkemas proses pemerolehan sambungan sambil mengekalkan faedah pengumpulan sambungan.

Atas ialah kandungan terperinci Bagaimanakah Penyatuan Sambungan Boleh Meningkatkan Ketersambungan MySQL dalam Aplikasi Node.js?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn