繁体   English   中英

使用mysql模块的Nodejs Mysql连接池

[英]Nodejs Mysql connection pooling using mysql module

我们正在为节点使用mysql模块,我只是想知道这种方法是否好,或者对我们的应用程序有不好的影响,请考虑这种情况

dbPool.getConnection(function(err, db) {
    if(err) return err;
    db.query()

在这里,我正在调用dbPool对象,并从池中请求连接,然后使用它。 但是我发现了另一个实现(这是我要问的问题),它直接使用dbPool对象,例如:

dbPool.query('select * from test where id = 1' function(err, rows) {})

所以我想知道第二个实现到底是做什么的,它会自动返回一个免费连接并使用它吗? 可以解释第二种情况到底发生了什么,以及它对我的应用程序有何影响? 谢谢。

因此,这就是所谓的回调链。 在NodeJS中,有很多异步调用。 但是有时候,当使用MySQL完成连接时,您想做些什么。 这就是为什么getConnection功能具有callBack功能。

dbPool.getConnection(function(err, db) {
    if(err) return err;
    db.query()

等于这个:

dbPool.query('select * from test where id = 1' function(err, rows) {})

dbPool.query()将等待连接打开,您不必将所有查询放入getConnection即可使其正常工作。 这就是为什么它还具有回调功能。

告诉我我是否错。 我希望这能解决您的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM