使用--pipe批量导入redis
我正在尝试使用该--pipe
功能导入一百万行redis命令。
cat file.txt | redis-cli --pipe
这将导致以下错误:
从服务器读取错误:对等连接重置
有人知道我在做什么错吗?
file.txt
包含例如
lpush name joelpush name bob
:我现在看到使用管道模式可能有一种特殊格式(?)-http:
//redis.io/topics/protocol
回答:
要使用管道模式(也称为批量插入),您实际上必须直接以Redis协议格式提供命令。
对应的Redis协议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"
。
这是您的输入文件必须包含的内容。
该Redis的文档包括红宝石样品给你生成协议的帮助:看gen_redis_proto
。
以上是 使用--pipe批量导入redis 的全部内容, 来源链接: utcz.com/qa/430603.html