【发布时间】:2016-07-19 09:40:40
【问题描述】:
我最近看到一段node.js代码如下,它应该作为独立服务运行,每次收到新请求时都不需要重新启动:
switch(action) {
case 'a':
connectMysql(function(mysqlConnection) {
// some queries X
});
break;
case 'b':
connectMysql(function(mysqlConnection) {
// some queries Y
});
break;
/***** more actions *****/
}
它每次都会为每个操作打开一个新的 MySQL 连接,写这篇文章的人认为,这种方法可以确保查询并行执行,并且在请求量很大时不会相互阻塞同一时间。
这真的让我很困惑,因为我认为node.js的mysql客户端是非阻塞的,不会阻塞任何东西。
如果查询卡住了,原因可能是进程处理了太多的请求,更多的mysql连接肯定无济于事。
或者,非阻塞客户端只是意味着它会异步发送查询,但是当查询太多时,查询最终会在mysql服务器端被阻塞?
【问题讨论】:
标签: mysql node.js nonblocking