繁体   English   中英

需要Node.JS + MySQL连接池吗?

[英]Node.JS + MySQL connection pooling required?

使用node-mysql模块,有两个连接选项 - 单个连接和连接池。 设置与MySQL数据库的连接的最佳方法是什么,对所有请求使用单个全局连接,或者为每个请求创建一个连接池并从池中取一个连接池? 或者有更好的方法吗? 我是否只针对所有请求使用单个共享连接来解决问题?

维护整个应用程序的单个连接可能有点棘手。

通常,您希望打开与实例的连接,并等待它建立。

从这一点开始,您可以开始使用数据库(可能启动HTTP(S)服务器,处理请求并根据需要查询数据库。)

问题是连接被破坏时(例如,由于网络错误)。 由于您在整个应用程序中使用一个连接,因此必须重新连接到MySQL,并在建立连接时以某种方式对所有查询进行排队。 正确实现这样的功能相对困难。

node-mysql有一个内置的pooler。 一个pooler,创建一些连接并将它们保存在池中。 每当您想要关闭从池中获取的连接时,pooler会将其返回到池而不是实际关闭它。 池上的连接可以在下次打开的呼叫中重复使用。

使用连接池的IMO显然更简单,不应该对性能产生太大影响。

暂无
暂无

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

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