使用reids-cli --pipe导入redis protocol文件数据
今天想用shell分析日志做为数据源导入redis,发现用redis-cli SET key value时非常的慢,要导入大量数据花费的时间太长了,打算改用redis-cli --pipe方式导入。
官方文档http://redis.io/topics/protocol。
但在组成文件数据遇到了比较大的问题
SET Key0 Value0
SET Key1 Value1
...
SET KeyN ValueN
用shell组成上面格式的数据后,用redis-cli --pipe方式导入,报如下错误
All data transferred. Waiting for the last reply...
ERR syntax error
Last reply received from server.
errors: 1, replies: 1
经调查是因为linux文档的换行是\n,但文档要求每行的结尾是\r\n.
最后用unix2dos命令将文件转换后,再执行redis-cli --pipe,不再出现错误