Node.js MySQL和createPool connectionLimit

Node.js MySQL和createPool connectionLimit,mysql,node.js,Mysql,Node.js,我离开了PHP世界,希望完全理解“connectionLimit”和“createPool”的真正含义。我不想在服务器性能方面比较PHP和Node,下面只是一个例子 让我们假设:一个PHP站点平均每天有30个并发用户,读写mySQL。全数字海洋2GP液滴。没有问题 如果站点在节点中重写,并且不使用池,那么它能够处理30个并发用户吗?示例中需要设置什么样的connectionLimit?createPool是否仅在每个用户运行多个查询时才起作用 var mysql = require("mysql

我离开了PHP世界,希望完全理解“connectionLimit”和“createPool”的真正含义。我不想在服务器性能方面比较PHP和Node,下面只是一个例子

让我们假设:一个PHP站点平均每天有30个并发用户,读写mySQL。全数字海洋2GP液滴。没有问题

如果站点在节点中重写,并且不使用池,那么它能够处理30个并发用户吗?示例中需要设置什么样的connectionLimit?createPool是否仅在每个用户运行多个查询时才起作用

var mysql = require("mysql");

var pool = mysql.createPool({
    connectionLimit : 10,
    host: '',
    user: '',
    password: '',
    database: ''
});

它创建N个连接池,并监视这N个连接的可用性。您可以这样使用池:
pool.getConnection((错误,连接)=>{connection.query(…);})
因此它意味着它通过一个连接发送查询。因此,如果您想同时使用3个连接,则必须调用
getConnection
3次并使用该连接。或者最好有一些包装器,它将按池项分别推送查询数组。完全有意义,谢谢。所以这真的与网站可以服务的用户数量无关吗?这完全取决于你的代码和数据缓存技术,例如,如果你在db上有一个产品,并且它在24小时内没有更新,那么没有必要每次都从db中检索数据,只要将其缓存在memcache或redis中,并在数据库中的项目发生更改时从缓存中删除缓存数据。但对于大数据和大量插入,最好有一个数据库集群,以确保多个节点之间的负载平衡,并且具有容错性。是的,无论使用何种语言,这一切都是有意义的,非常重要。最后一个问题,node与php的方式没有什么不同,如果我不使用池,并且有30多个并发用户同时向我的数据库写入数据?它不会以不同的方式处理连接,这就是我要说的?使用
sequelize
它简化数据库使用(ORM)+它通过定义最小、最大连接参数来处理池管理本身。