Hatena::Groupdann

dann's blog このページをアンテナに追加 RSSフィード

Fork me on GitHub

2008-07-21

CHIのMultilevel driverで多段cache

CHIのMultilevel driverで多段cache - dann's blog を含むブックマーク はてなブックマーク - CHIのMultilevel driverで多段cache - dann's blog CHIのMultilevel driverで多段cache - dann's blog のブックマークコメント

MemoryになければMemcachedからcache取得、のようなコードを以下のように書けるというのがCHIの肝で、ここがData::ObjectDriverととても似ているんですね。

subcachesのところに、driverを複数書くと、書いた順にcacheを探しにいきます。

#!/usr/bin/env perl
use strict;
use warnings;
use CHI;

my $cache = CHI->new(
    driver    => 'Multilevel',
    subcaches => [
        { driver => 'Memory' },
        {   driver  => 'MemcachedFast',
            servers => ["127.0.0.1:11211"]
        }
    ],
);

$cache->set( 'hoge', 'hige' );
print $cache->get('hoge');

# 後もう一つの肝は、get_multiを使える事。