Node.js:有多少Redis客户端?

Kev*_*gue 7 nosql redis node.js

在Node.js中,最好为每个单独的HTTP请求或用户执行createClient(),还是最好为所有请求重用相同的客户端?你还只用一个来获得几个并行客户端的速度吗?

yoj*_*o87 7

在Node.js中,最好为每个单独的HTTP请求或用户执行createClient(),还是最好为所有请求重用相同的客户端?

您应该重用redis客户端连接并在程序的生命周期内保留它,因为建立新连接会产生一些初始开销,这可以通过已连接的客户端来避免.

你还只用一个来获得几个并行客户端的速度吗?

您可以通过多个并行客户端池(有限数量,而不是每个单独的HTTP请求或用户的专用连接)获得一些性能改进,但问题是如何处理已执行命令的并发性.虽然redis是为处理数百或数千个同时连接的客户端而构建的,但我认为连接池应该由您正在使用的客户端库控制.但是,如果同时使用redis监听某些发布/订阅通道并同时执行常规命令,则应使用两个并行连接.