redisで大容量データ、大量データをコマンドで登録する
技術ネタを。
redisで1MB程度のデータをコマンドで登録しようとしたときに手こずったのでメモ。
結論からいうと以下のようなコマンドで登録できました。
redis-cli -h サーバ -x set キー名 < ファイル(jsonなど)
キモは-xオプションでした。
ちなみに上記のような大きなデータを登録する方法調べていたときに、パイプラインを使ったり、--pipeオプションを使ったりする方法がヒットしたのですが、そちらは大量データを登録する方法でした。
※大量データというのは、ファイルに1行ずつsetコマンドを書いた行が大量にあるみたいな感じです。
ちなみに、以下みたいなコマンドです。
cat ファイル名 | redis-clie -h サーバ set キー名
最初は、上記で1MBのデータが登録できると思ったのですが、パイプラインでデータを渡すときにはバッファサイズが決まっているようで(自分が試した環境では4096バイト)1MBデータがまとめて渡すことができずエラーとりました。
以上です。