Redis使用shell大批量上传数据

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 密码

猜你喜欢

转载自www.cnblogs.com/share-duke/p/12308510.html
今日推荐