1:使用步骤生成模拟数据:data.txt
for N in $(seq 1 1000); do echo "set mockdata$N $N"; done > data.txt
注:set可以是rpush,zadd这样的redis命令。
2:使用如下的bash脚本 保存为:redis-pipe.sh
#!/usr/bin/env bash while read CMD; do # each command begins with *{number arguments in command}\r\n XS=($CMD); printf "*${#XS[@]}\r\n" # for each argument, we append ${length}\r\n{argument}\r\n for X in $CMD; do printf "\$${#X}\r\n$X\r\n"; done done
如果报:Syntax error: “(” unexpected (expecting “done”) 错误 解决方式是 cat data.txt | bash crate.sh | redis-cli –pipe 将sh 改成bash尝试。
3:执行管道命令:redis-cli --pipe
cat data.txt | sh redis-pipe.sh | redis-cli --pipe
可以在redis-cli 改一些参数比如:-c -h ip地址 -p port端口 -a 密码