DBMS/4. 웹서버-DB서버 통신
# 4-2 mysql2 - 커넥션 풀
혀닙
2022. 3. 26. 01:09
목차
- 환경 셋팅
- 커넥션 풀을 사용한 코드 작성
#1. 환경셋팅
(1) 가져오기
const mysql = require('mysql2');
(2) 옵션 작성하기
const config = {
host: 'localhost',
user: 'root',
database: 'blacktea',
waitForConnections: true,
connectionLimit: 10,
queueLimit: 0
}
const pool = mysql.createPool(config)
#2. 커넥션 풀을 사용한 코드 작성
- 커넥션 풀은 기존의 connection을 재사용함으로써 MySQL 서버에 연결하는 시간 절약
- pool은 모든 connection을 미리 생성하지는 않지만, connection limit에 도달할 때까지 사용 가능
- pool 객체 또한 connection 과 동일한 방식으로 쿼리 작성 가능 - query() 메서드와 execute() 메서드 사용
- 쿼리가 resolve 되면 connection 은 자동으로 풀어짐
pool.query('SELECT* FROM user', (err,rows)=>{
console.log(rows)
})
- 기본적으로 쿼리 resolve 시 커넥션 자동으로 풀어지지만 수동으로 반환도 가능하다.
pool.getConnection((err,conn)=>{
conn.query();
pool.releaseConnection(conn);
})