2015年11月19日木曜日

Redis でバイナリファイルを保存する方法

概要

Redis で PNG 画像のようなバイナリファイルを保存する方法を紹介します
今回は特にプログラムから保存するのではなく、redis-cli を使ってやってみます

環境

  • Mac OS X 10.10.5
  • Redis 3.0.2

バイナリデータの保存

  • redis-cli -x HSET some_key image_binary <image.png

画像データを保存しています
HSET を使って保存しており some_key という key の image_binary というフィールドの値として画像を保存しています
画像情報はパスやファイル名を指定するのではなく、ファイルをリダイレクトで入力してあげます
-x を使うことで最後のパラメータを標準入力から受け取ることができるようになります

バイナリデータの取得

  • redis-cli --raw HGET some_key image_binary > image_new.png

取得する場合は HGET で key とフィールド名を指定します
オプションに --raw を指定する必要があります
これを指定することでマルチバイト文字 (バイナリ) を扱えるようになります
あとは結果を画像ファイルにリダイレクトしてあげれば OK です

取得した画像がちゃんと表示されるかプレビュー等で確認するといいと思います

参考サイト

0 件のコメント:

コメントを投稿