Redis pipeline 可以一次包含多条要执行的命令,减少和redis-server之间的网络来回,减少了建立网络连接的时间。
但是如果在pipeline中一次发送大量的命令,也会导致阻塞,直到所有命令执行完成。所以开发者通常会关心在pipeline中一次执行多少条命令才好呢。
其实这个没有标准答案,它视你服务器的配置而定,但是你可以通过redis-benchmark来测试最佳的命令条数。
测试普通情况下执行效率
redis-benchmark -n 100000 -t set,get -q
测试使用pipeline情况下的执行效率
redis-benchmark -n 100000 -t set,get -P 600 -q
n后面的数字是总请求数,P后面的是每次pipeline执行的命令个数,默认是1, q参数表示只显示每秒执行的命令数,如果不加q的话会显示详细的压测信息。
通过不断调整P后面的参数便可测试出你redis服务器pipeline最优数量。