redis-py管道有多少个命令?

fly*_*yer 4 python redis redis-py

我想使用管道来减少我的程序和redis-server之间的交互次数.
我可能在管道中设置了许多命令,但我找不到任何描述可以在管道中设置的最大命令数的文档.

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

Ofi*_*zon 8

不确定是否有最大值,但我不认为你想要达到它以防万一.

在大多数情况下,将管道尺寸限制为100-1000次操作可获得最佳结果.但是,您可以进行一些基准研究,其中包括您发送的典型请求.流水线请求通常很好,但请记住,响应保存在Redis内存中,直到提供所有管道请求,并且您的客户端等待所有请求的长回复.

您应该尝试找到并发连接,流水线请求和Redis内存的最佳位置.

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

您可以使用redis-benchmarkmemtier_benchmark.这是关于memtier_benchmark的更详细的描述和说明.

当您找到流水线请求的数量和连接数时,您应该在应用程序中使用redis-py客户端实现它.

  • 这里最重要的方面是测试您自己的用例。我已经看到了在不同情况下最有效的各种选择。我见过最好的数字是有些人低于50,而另一些人超过2000。 (3认同)