最近、Redisに触ってます。
コマンドラインから初期データ投入する方法が調べてもあまりなかったのでメモ代わりに書いておきます。
redis-cliコマンドからデータを投入してみたいと思います。
まず、投入するデータを用意してimport_data.lstとして保存します。
Redisのコマンドについては下のページを見て下さい。 Command reference – Redis
一応、簡単に説明するとHMSET で summery::sm0000000N
をキーにしてハッシュを登録しています。
HMSET summery::sm00000001 comment 11 play 30 tag cokking mylist 48 id sm00000001 HMSET summery::sm00000002 comment 12 play 60 tag ent mylist 20 id sm00000002 HMSET summery::sm00000003 comment 13 play 18 tag cooking mylist 32 id sm00000003 HMSET summery::sm00000004 comment 14 play 79 tag ent mylist 68 id sm00000004 HMSET summery::sm00000005 comment 15 play 49 tag ent mylist 45 id sm00000005 HMSET summery::sm00000006 comment 16 play 27 tag animal mylist 46 id sm00000006 HMSET summery::sm00000007 comment 17 play 79 tag sing mylist 33 id sm00000007 HMSET summery::sm00000008 comment 18 play 84 tag drive mylist 11 id sm00000008 HMSET summery::sm00000009 comment 19 play 22 tag ent mylist 15 id sm00000009 HMSET summery::sm00000010 comment 20 play 68 tag drive mylist 16 id sm00000010 HMSET summery::sm00000011 comment 21 play 62 tag drive mylist 48 id sm00000011 HMSET summery::sm00000012 comment 22 play 96 tag sing mylist 43 id sm00000012 HMSET summery::sm00000013 comment 23 play 22 tag ent mylist 70 id sm00000013 HMSET summery::sm00000014 comment 24 play 94 tag music mylist 59 id sm00000014 HMSET summery::sm00000015 comment 25 play 41 tag animal mylist 22 id sm00000015 HMSET summery::sm00000016 comment 26 play 52 tag animal mylist 34 id sm00000016
ポイントは改行コードを CR+LF にして保存することです。
改行コードだけ注意していれば問題ありません。
そして、redis-cliの--pipeオプションを使ってパイプラインでデータを流し込むだけでデータのインポートは完了です。
% cat import_data.lst | redis-cli --pipe All data transferred. Waiting for the last reply... Last reply received from server. errors: 0, replies: 16
2013-06-05追記
Perlでやるのが簡単だった。
% cat import_data.lst | perl -pe 's/\n$/\r\n/g' |redis-cli --pipe All data transferred. Waiting for the last reply... Last reply received from server. errors: 0, replies: 16