Cakephpでキャッシュ利用法

ゴリゴリ書いているサイトやPVがある程度あるサイトでは、

常に負荷(ロード)を気になってしまいます。

そこで、一度DBから取得したデータをキャッシュファイルに保存し、

特定の時間はそのキャッシュファイルからデータを読み込む方法を記載します。

過去のTwitter関連記事などでもこの方法を使えば

リクエスト回数が抑えられます。


まずCakephpのキャッシュ機能をTrueに設定。

app/Config/core.php

Configure::write('Cache.disable', false);

そして必要な箇所にてキャッシュに書き込み。今回は2時間キャッシュファイルに保持するように。

ちなみに管理人はコントローラーでしか経験がないですが、

モデルなどでも可能みたいです。

$data = 'キャッシュに保存されるかな?';
Cache::set(array('duration' => '+2 hours'));
Cache::write('cache_key_name', $data);

んで、キャッシュからデータ取得。

Cache::set(array('duration' => '+2 hours'));
$data = Cache::read('cache_key_name'));
echo $data;

時間がたって取得できなかったら、再度キャッシュに保持・・のようなソースにすればOKですね。


ポイントは、readおよびwrite前に必ず

Cache::set(array('duration' => '+2 hours'));

を追記しないと、正常に機能しないといった感じです。


ちなみにキャッシュデータをファイルに保存するように設定してある場合は、

以下がキャッシュファイルになります。

app/tmp/cache/cache_key_name


これは使えるところがあればどんどん使っていきたいですね。


あー。またないちゃ~ドットコムを見てしまった。。

さ、仕事をがんばりましょ!

おすすめ記事


コメントを残す




Menu

HOME

 TOP