> 데이터 베이스 > MySQL 튜토리얼 > Node.js에서 MySQL 연결 풀링을 효과적으로 구현하는 방법은 무엇입니까?

Node.js에서 MySQL 연결 풀링을 효과적으로 구현하는 방법은 무엇입니까?

Susan Sarandon
풀어 주다: 2024-11-04 18:33:01
원래의
334명이 탐색했습니다.

How to Effectively Implement MySQL Connection Pooling in Node.js?

Node.js를 사용한 효과적인 MySQL 연결 풀링

Node.js를 사용하여 MySQL 데이터베이스에 액세스할 때 최적의 성능을 얻으려면 연결 풀링을 구현하는 것이 좋습니다. 중대한. 이 기사에서는 node-mysql 모듈을 사용하여 이러한 목적으로 애플리케이션을 구성하는 효과적인 접근 방식을 보여줍니다.

연결 풀링 모듈

질문에 제공된 예는 연결을 생성합니다. 다음 코드를 사용하여 풀을 생성합니다.

<code class="javascript">var pool = mysql.createPool({
    host: 'localhost',
    user: 'root',
    password: 'root',
    database: 'guess'
});</code>
로그인 후 복사

이것은 다음과 같이 획득하고 해제할 수 있는 즉시 사용 가능한 연결 세트를 설정합니다. 필요에 따라 각 쿼리에 대한 개별 연결을 생성하고 삭제하는 오버헤드를 제거합니다.

데이터베이스 쿼리

쿼리를 실행하려면 mysql 모듈을 요구하고 연결을 초기화할 수 있습니다. :

<code class="javascript">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>
로그인 후 복사

반환 연결

연결 액세스를 단순화하려면 다음과 같이 mysql 모듈의 내보내기 섹션을 수정하면 됩니다.

<code class="javascript">var pool = mysql.createPool({ ... });

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

module.exports = getConnection;</code>
로그인 후 복사

이 수정을 사용하면 getConnection을 호출하여 연결을 얻을 수 있습니다. pool.getConnection 대신.

릴리스 연결

쿼리를 완료한 후 연결을 해제하여 풀로 반환하는 것이 중요합니다.

<code class="javascript">connection.release();</code>
로그인 후 복사

연결을 해제하지 못하면 보류로 이어질 수 있으며 결국 소진될 수 있습니다. 풀을 풀고 성능을 저하시킵니다.

결론

By 연결 풀링을 사용하고 이러한 모범 사례를 따르면 Node.js 애플리케이션에 대한 효율적인 연결 관리 메커니즘을 설정할 수 있습니다. 이 접근 방식을 사용하면 MySQL 데이터베이스에 대한 원활하고 최적화된 액세스가 가능해 최적의 성능과 확장성이 보장됩니다.

위 내용은 Node.js에서 MySQL 연결 풀링을 효과적으로 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿