Project

proc-cache

0.0
No commit activity in last 3 years
No release in over 3 years
Proc#cache!
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

 Project Readme

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'