在nodejs中保持相同(mysql)连接?

时间:2016-01-25 12:15:40

标签: mysql node.js

我在注册系统上工作,我想检查用户的用户名,如果它在输入时已经存在于数据库中,那么对于他在输入字段中输入的每个字母,我想对数据库进行查询。

目前我有这个: 在 app.js 上我有这部分代码:

var mysql=require('mysql');
var connection=mysql.createConnection({
  host:'localhost',
  user:'user',
  password:'password',
  database:'random_name'
});
connection.connect();

app.use(function(req,res,next){
   req.connection = connection;
   next();
});
module.exports = app;

到目前为止,我理解这一点:每当用户请求页面时,我们都会连接到服务器。但是我们打开一个新的连接还是使用与以前相同的连接?

然后在html页面上,每次用户在输入字段中输入内容时,我都会向index.js发送请求,并在index.js上执行以下操作:

 var express = require('express');
 var router = express.Router();

 router.get('/', function(req, res) {
     var val=req.query.parameter;
     var query=req.connection.query("select * from registeredusers where username="+req.connection.escape(val),function(err,result){       
         console.log(query.sql);  
      });

我在查询数据库时是否使用相同的连接,或者每当用户在输入字段中输入内容时建立新连接?

编辑:连接没有持续,我遵循Mjh的建议,所以这个问题的解决方案是使用池连接。如果你想了解更多信息,请查看此链接: When use poolConnection or CreateConnection felixge/node-mysql

node.js + mysql connection pooling

https://codeforgeek.com/2015/03/real-time-app-socket-io/

0 个答案:

没有答案