在Node.js中,最好为每个单独的HTTP请求或用户执行createClient(),还是最好为所有请求重用相同的客户端?您是否仍然可以只使用一个并行客户端的速度?
答案 0 :(得分:7)
在Node.js中,最好为每个做一个createClient() 个人HTTP请求或用户,或者重新使用它会更好 所有请求都是同一个客户端?
您应该重复使用redis客户端连接并在程序的生命周期内保留它,因为建立新连接会产生一些初始开销,这可以通过已连接的客户端来避免。
您是否仍然只使用一个并行客户端的速度?
使用多个并行客户端池(有限数量,而不是每个单独的HTTP请求或用户的专用连接)可能会获得一些性能改进,但问题是如何处理已执行命令的并发性。虽然redis是为处理数百或数千个同时连接的客户端而构建的,但我认为连接池应该由您正在使用的客户端库控制。但是,如果同时使用redis监听某个发布/订阅通道并同时执行常规命令,则应使用两个并行连接。