2021年12月24日金曜日

Ruby で redis に画像ファイルを保存する方法

Ruby で redis に画像ファイルを保存する方法

概要

Redis はバイナリセーフなので画像デーも保存できます
今回は Ruby から保存/取得する方法を紹介します

環境

  • macOS 11.6.2
  • Ruby 3.0.3
  • redis 4.5.1

画像データの保存

test.png という画像ファイルを Redis に保存します

  • vim set.rb
require 'redis'

path = "test.png"
File.open(path, 'rb') do |file|
  redis = Redis.new
  redis.set('image', file.read)
end

画像データの取得

Redis に保存されているデータを元に画像データを生成します

  • vim get.rb
require 'redis'

path = "test.png"
File.open(path, 'wb') do |file|
  redis = Redis.new
  image = redis.get('image')
  file.write(image)
end

最後に

File.open の mode は rb と wb を使うのがポイントかなと思います

0 件のコメント:

コメントを投稿