proc-cache¶ ↑
インストール
gem install proc-cache
プロシージャ(Proc)の実行結果をキャッシュします
require 'proc-cache' p proc{ sleep 3; "heavy task" }.cache! => "heavy task" # 3秒後に"heavy task"という文字列が戻ってくる p proc{ sleep 3; "heavy task" }.cache! => "heavy task" # ただちに"heavy task"という文字列が戻ってくる
いろんな書き方¶ ↑
proc{ ... }.cache! lambda{ ... }.cache! Proc.new{ ... }.cache!
キャッシュの有効期限を設定する¶ ↑
Proc#cache!(:expires => キャッシュを保持する秒数)
proc{...}.cache! :expires => 2.hours # 2時間経過するまでキャッシュを使う
内部動作を確認したいとき¶ ↑
ロガー渡せます
proc{...}.cache! :logger => Logger.new(STDERR)
キャッシュのパスを変更したいとき¶ ↑
デフォルトだと/tmp/実行スクリプト名.cacheです。
proc{...}.cache! :cache_path => './test.cache'