目前我没有在我的设置上使用连接池,因为我在应用程序中只有1-4个用户。
根据doc,这是推荐的方式。
var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'example.org',
user : 'bob',
password : 'secret'
});
connection.connect(function(err) {
if (err) {
console.error('error connecting: ' + err.stack);
return;
}
console.log('connected as id ' + connection.threadId);
});
现在,我所做的是导出连接对象并将其共享给其他api资源。
在 db.js 文件
上var mysql = require('mysql');
var connection = mysql.createConnection({ ... });
module.exports = connection;
在 api.js 文件
上const express = require('express');
const router = express.Router();
const conn = require('./db');
router.post('/create', function (req, res) {
connection.query('INSERT ...', function (error, results, fields) {
if (error) throw error;
// connected!
});
});
router.post('/update', function (req, res) {
connection.query('UPDATE SET ...', function (error, results, fields) {
if (error) throw error;
// connected!
});
});
AND SO ON 同样适用于这些示例中省略的其他api资源。
此连接设计的缺点是什么?