キャッシュ、キャーッシュ、キャッシュ。キックエ~ンド、キャッシュ。
キャッシュを他の部分にも適用してみた。結果。
1.1秒→0.04秒
みたいな感じになりました(あくまでも取得時間ですが)。とはいえ表示もキャッシュだとかなりさくさく感が出てきたと思います。しかし、本質は変わらないのでさらなるチューンを行なっていくつもり。
それにしても、
$cache->set($key, ¥@items);
とキャッシュしておいて、
my @items = @{$cache->get($key)};
と取得するのはアリだと思っていたらうまくいかず。なんで?と色々試行錯誤して、Data::Dumperで中身を見たりもしていた。中身からもやっぱり正しいよねぇ…。と思ったら、結局、キャッシュが無いときは配列に出来ない旨のエラーが出ていたのであった(ちゃんと英語読もうね<自分)。
my $item_ref = $cache->get($key);my @items;
if ($item_ref) {
@items = @{$cache->get($key)};
}
else {
#キャッシュがないときの処理
$cache->set($key, ¥@items);
}
でも、もっといい書き方ってもんがあるような気がする。気がするだけですが…