CakePHP 2.0 の Cache クラスで Cake の高機能キャッシュを自由に使える

CakePHP にはビューキャッシュ、エレメントキャッシュ等が御座いますが、それ以外の場でも気軽にキャッシュを取りたいことがあります。そんな時に Cache クラスを使うと良いです。

1
2
3
4
5
6
Cache::set(Array('duration' => '+30 days'));
if(! $sidebar_effect = Cache::read('sidebar_effect')) {
    $sidebar_effect = 'test';
    Cache::write('sidebar_effect', $sidebar_effect);
}
echo $sidebar_effect;

例えば、サイドバーの複雑なカテゴリ表示などの、少し重たい処理をキャッシュする時に便利です。エレメントキャッシュを使えば部分ごとのキャッシュを取ることはできますが、一部分のキャッシュを作成するためにエレメントキャッシュを取るのは少し面倒です。

本来エレメントそのものは、投稿一覧の投稿部分や、ヘッダとフッタに同じ検索フォームを設置する場合など、複数の場所に同じ表示をする際に驚異的な力を発揮すると思いますので、キャッシュを目的にするのはあまり良くないと思っていますが、いかがでしょうか。

以下のページが参考になりました。

コメント

コメントは受け付けていません。