redis bulk import using --pipe
redis
Solution
To use the pipe mode (a.k.a bulk loading, or mass insertion) you must indeed provide your commands directly in Redis protocol format.
The corresponding Redis protocol for `LPUSH name joe` is:
*3
$5
LPUSH
$4
name
$3
joe
Or as a quoted string: `"*3\r\n$5\r\nLPUSH\r\n$4\r\nname\r\n$3\r\njoe\r\n"`.
This is what your input file must contain.
Redis documentation includes a Ruby sample to help you generate the protocol: see `gen_redis_proto`.
A Python sample is available e.g. in the redis-tools package.
Problem
I'm trying to import one million lines of redis commands, using the `--pipe` feature. redis_version:2.8.1 `cat file.txt | redis-cli --pipe` This results in the following error: Error reading from the server: Connection reset by peer Does anyone know what I'm doing wrong? `file.txt` contains, for example, ``` lpush name joe lpush name bob ``` edit: I now see there's probably a special format(?) for using pipe mode - http://redis.io/topics/protocol