我正在尝试使用该--pipe功能导入一百万行redis命令。
--pipe
redis_version:2.8.1
cat file.txt | redis-cli --pipe
这将导致以下错误:
从服务器读取错误:对等连接重置
有人知道我在做什么错吗?
file.txt 包含例如
file.txt
lpush name joe lpush name bob
编辑 :我现在看到使用管道模式可能有一种特殊格式(?)-http: //redis.io/topics/protocol
要使用管道模式(也称为批量插入),您实际上必须直接以Redis协议格式提供命令。
对应的Redis协议LPUSH name joe是:
LPUSH name joe
*3 $5 LPUSH $4 name $3 joe
或作为带引号的字符串:"*3\r\n$5\r\nLPUSH\r\n$4\r\nname\r\n$3\r\njoe\r\n"。
"*3\r\n$5\r\nLPUSH\r\n$4\r\nname\r\n$3\r\njoe\r\n"
这是您的输入文件必须包含的内容。
该Redis的文档包括红宝石样品给你生成协议的帮助:看gen_redis_proto。
gen_redis_proto