とあるCatalystで作ったサイトで、sqliteのDBが大きくなるにつれ、やたらページ重たくなったりした。 こういう場合はmemcachedが有効か?と思って試してみたんだけど配列のいれかたがよくわかってない、そんでうまくいかなった。でなんかいいのないかなとCPANあさってみたら「Catalyst::Plugin::PageCache」なるものを発見。ページをキャッシングして指定した期限までは静的ページみたいになる、っぽい。 一度その重たいページを訪れるとキャッシュしましたというログがでて、2度目以降のアクセスではもうサクサク。これは用途によっては結構便利。
使い方は簡単。シンプルにやりたいのならこんな感じでMyApp.pmに記述するだけでOK。
use Catalyst qw/Cache::FileCache PageCache/;
__PACKAGE__->config->{page_cache} = {
expires => 43200, #キャッシュの有効期限 12hour
set_http_headers => 1,
auto_cache => [ #キャッシュするページ
'/tag/',
'/entry/',
'/feed/',
'/',
],
debug => 1,
};
追記
これ使うと日本語のパラーメタを受け付けてくれない。。。

