Node.js是单线程的。Javascript V8引擎和一些内部库是多线程的。对于I / O,节点将I / O委托给可能是多线程的OS。
如果我的node.js应用程序正在连接到redis或sql / mariadb服务器,我认为我不需要Redis或mysql的连接池。
作为开发人员,我创建了1个redis或mysql连接,并重用它来发送/获取数据。当数据到达时,节点将调用回调以处理数据。
我了解Java / .NET的连接池,但是它们是多线程的,因此Java / .NET中的连接池具有明显的优势。
我的问题是:当节点为单线程时,为什么在node.js中需要连接池?有什么好处吗?如果开发人员不必这样做,节点是否不会利用基础操作系统和JavaScript引擎的多线程功能?
谢谢