tokuhirom's Blog

Cache::Memory::Simple::Scalar だした

なんか、Cache::Memory::Simple いいんだけど、一個しかぜったいに値がはいらない場合ってあるじゃないですか〜
そんなときに Cache::Memory::Simple のインターフェイスつかいづらいなーっておもったんで、Cache::Memory::SImple::Scalar ってのつくりましたぞ〜

use Cache::Memory::Simple::Scalar;
use feature qw/state/;
 
sub get_stuff {
    my ($class, $key) = @_;
 
    state $cache = Cache::Memory::Simple::Scalar->new();
    $cache->get_or_set(
        sub {
            Storage->get($key) # slow operation
        }, 10 # cache in 10 seconds
    );
}

こんなかんじでつかえますぞ〜