我想使用管道减少程序和Redis服务器之间的交互次数。
我可能在管道中设置了许多命令,但是找不到任何描述可以在管道中设置的最大命令数的文档。

有什么建议吗?提前致谢。

最佳答案

不确定是否有最大值,但我不认为要达到最大值。

在大多数情况下,将管道的大小限制为100-1000个操作可获得最佳效果。但是,您可以进行一些基准测试,其中包括您发送的典型请求。
管道请求通常是好的,但是请记住,响应将一直保存在Redis内存中,直到所有管道请求得到处理,并且客户端会等待所有请求的长回复。

您应该尝试找到并发连接,管道请求和Redis内存的最佳结合点。

在将管道的最后一个查询发送到Redis之前,您的客户端将不会开始阅读答复。当管道太长时,它有可能阻塞事物。

您可以使用redis-benchmarkmemtier_benchmarkHere's关于memtier_benchmark的更详细的描述和说明。

当找到管道请求和连接数时,应在应用程序中使用redis-py客户端实现它。

08-27 22:25
查看更多