Redisに大量データをインサート(Bulk Insert)

英語が読める方はここが参考になるよ!
Redis Mass Insertion – Redis

数百万のレコードを1件1件丁寧に入れてるとても素敵なシステムがあったので、さすがに改修した話。

こんなファイル作ろうぜ

ちなみに改行コードは、\r\nでないといけないっぽい。

SET Key0 Value0
SET Key1 Value1
    .
    .
    .
SET KeyN ValueN

ファイルを作成したら、このコマンドを実行!

ローカル
cat file.txt | redis-cli --pipe
ホスト指定もできる
cat file.txt | redis-cli -h 0.0.0.0 --pipe
結果
All data transferred. Waiting for the last reply...
Last reply received from server.
errors: 0, replies: 1000000

めっちゃ早い!

なんかおかしいぞ・・

Fileの件数とrepliesの数が合わない。。
けど、全件redisにあがっている。。
調査中...