Ruby redisに接続して画像をキーに保存する
Rubyで、redisに接続して画像をキーに保存するソースコードを記述してます。
環境
- OS windows11 home
- ruby ruby 3.0.3p157 (2021-11-24 revision 3fb7d2cadc) [x64-mingw32]
- redis 3.0.504
- vscode 1.63.2
ライブラリインストール
ライブラリ「redis-objects」を使用します。ない場合は「gem」を使ってインストールしておきます。
gem install redis-objects
サンプルコード
localhostにある「redis」に接続して、画像をキー「imgkey」の値として保存するサンプルコードを実行してみます。
保存する画像「mebee_logo.png」
保存してみます。
require 'redis'
require 'redis/objects'
redis = Redis.new(
:host => 'localhost',
:port => 6379,
:db => 0
)
path = "mebee_logo.png"
File.open(path, 'rb') do |file|
redis.set('imgkey', file.read)
end
実行結果します。
> ruby test.rb
キー「imgkey」を確認するとバイナリデータとして、保存されていることが確認できます。
データから画像を生成
redisに保存した画像データから、画像を生成してみます。
以下のコードを実行します。
require 'redis'
require 'redis/objects'
redis = Redis.new(
:host => 'localhost',
:port => 6379,
:db => 0
)
path = "mebee_logo_copy.png"
File.open(path, 'wb') do |file|
img = redis.get('imgkey')
file.write(img)
end
画像「mebee_logo_copy.png」が生成されていることが確認できます。
-
前の記事
javascript jsonファイルを指定して読み込む 2022.08.08
-
次の記事
Oracle Database データファイルを一覧で確認する 2022.08.08
コメントを書く