我在我的应用程序中使用
node-postgres.
我想知道我想遵循的最佳实践,以确保稳定的连接.
以下是我现在正在使用的代码,
exports.getAll = function (args, callback) {
helper.client = new pg.Client('tcp://postgres:system6:5432@192.168.143.11/abc_dev');
helper.client.connect();
helper.client.query('select count(1) as total_records from facilities', function(err,response){
helper.client.query('select * ,'+response.rows[0].total_records+' as total_records from facilities',
function(err,response){
callback(response);
helper.client.end.bind(helper.client);
});
});
};
正如您在代码中看到的那样,我为每个请求连接数据库,并在执行查询后断开连接.我还有一个想法,我只能在全局连接数据库一次,并使用打开的连接执行查询.代码看起来像
helper.client = new pg.Client('tcp://postgres:system6:5432@192.168.143.11/abc_dev');
helper.client.connect();
exports.getAll = function (args, callback) {
helper.client.query('select count(1) as total_records from facilities', function(err,response){
helper.client.query('select * ,'+response.rows[0].total_records+' as total_records from facilities',
function(err,response){
callback(response);
});
});
};
这里的联系永远不会结束.据我所知,我无法确定哪一个是最好的.
请建议.
谢谢..
最佳答案
node-postgres wiki中有一个示例.只要处理请求,它就会连接:
var server = http.createServer(function(req, res, next) {
pg.connect(function(err, client, done) {
这也是我认为正确的:您的连接应该在请求范围内.