てぃぐれのプログラマwiki

ワクワクに従う

Python Redisに画像データを保存・呼び出し

画像データをどこに保持するのかを考えていたときに、そういえば、DBに保存したことがないなと思い、どうやって保存するんだとなったので、Pythonでやってみた。

 

import redis

if __name__ == "__main__":
    # 画像を指定する
    f = open("pokemon/eto_tora_daruma.png",'rb')# rb:バイナリ読取モード
    image_binary = f.read()
    f.close()

    # redisに書き込む
    r = redis.Redis(host='localhost', port=6379, db=3)
    r.set('とら',image_binary)

    # redisからファイルを持ってくる
    f = open('pokemon/torafromRedis.png','wb') # wb:バイナリ書込モード
    f.write(r.get('とら'))
    f.close()


トラ増えた。

f:id:tigretic:20220111185848p:plain

open関数のバイナリっていつ使うんだろうって思っていたけど、めっちゃ大事。