如何理解node链接mysql时使用连接池的connectionLimit(链接限制数)
发布于 8 年前 作者 helloMane 4070 次浏览 来自 问答

先上代码: ========mysql.js======= var pool = mysql.createPool({ host:‘localhost’, user:‘root’, password:‘214333890’, database:‘nodemysqltest’, port:3306, connectionLimit:3 }); pool.getConnection(function(err){ if(err){ throw err; } console.log(‘链接数据库成功’); })

每次输入node bin/www都会显示“连接数据库成功”。讲道理这样应该算是占用一个链接了吧。 untitled1.png11.jpg 接着,我在命令行输入: set port=3001 node bin/www 在3001端口再开一个页面,连接成功。 同理,依次在3002、3003端口都开了,然后都进入了页面。 最不讲道理的就是我明明设置了3个数据库链接限制,但是现在已经超过3个了。3000端口一个、3001端口一个、3002端口一个、3003端口一个。。。 很迷惑,希望有知道的人能够给我讲解讲解。

2 回复

这个链接限制针对的是客户端的啊,并且是一个进程而言的; 你得3001,3002,3003相当于分别开启了三个进程,每个进程占用一个长连接而已(每个进程的限制是3个); 客户端的连接池限制是不可能对服务器产生影响的。

@hyj1991 我理解出来就是这个限制是一个进程得占用三个链接才能算达到链接上限,每个人在一个端口使用该网站无论怎么样都只算一个进程。所以基本不可能达到链接上限是么?新手,有可能我说的很幼稚。。。希望你别嫌我烦。。。

回到顶部