我想使用管道来减少我的程序和redis服务器之间的交互次数。
我可以在管道中设置许多命令,但是我找不到描述管道中可以设置的最大命令数量的任何文档。
有什么建议吗?提前谢谢。
发布于 2014-11-19 09:07:12
不确定是否有最大值,但我不认为你想达到它,以防有。
在大多数情况下,将管道的大小限制在100-1000个操作上,效果最好。但是,您可以做一些基准研究,其中包括您发送的典型请求。管道请求通常是好的,但是请记住,响应被保存在Redis内存中,直到所有管道请求都被服务,并且您的客户机等待所有请求的长时间响应。
您应该尝试找到并发连接、流水线请求和Redis内存的最佳位置。
在将管道的最后查询发送到Redis之前,客户端将不会开始读取回复。当输油管道太长时,它有可能阻塞一切。
您可以使用redis-基准或基准测试。下面是关于memtier_benchmark的更详细的描述和说明。
当您找到流水线请求的数量和连接的数量时,您应该在应用程序中使用您的redis-py客户机来实现它。
https://stackoverflow.com/questions/27007530
复制相似问题