CakePHP 1.2のキャッシュ機構
CakePHP 1.2でキャッシュを有効にする
- 出力の結果についてのキャッシュは、別の設定
- ここではCakePHP 1.2が備えるキャッシュ機構を有効にするか?ということだけらしい
<?php // core.phpの下記の箇所をコメントアウト //Configure::write('Cache.disable', true); ?>
何がキャッシュされているのか?
Controllerでキャッシュをする
- キー(key)は独自のものを考える
- キーがモデル名だと、CakePHPが持っている機構とで行われているのと、かぶる気がする
<?php function view($id){ if(!Cache::read('testpost')){ debug('NO Cache'); $this->Post->id = $id; $post = $this->Post->read(); if(Cache::write('testpost', $post)){ debug('write'); }else{ debug('no write'); } }else{ debug('cache'); $post = Cache::read('testpose'); } $this->set('post', $post); }
Modelでキャッシュする
- CakePHPでモデルキャッシュを利用する - blog.katsuma.tv
- たぶん、きちんとキャッシュをするのなら、これが一番いいのかも
- Controllerで、キャッシュをあれこれ制御する、というのは、Controllerがすることとは外れていそう(Modelじゃなくて、ビヘイビアで制御、というのが一番シンプルかも)
クエリーキャッシュ
- CakePHPには、クエリーキャッシュというのがあるらしい
- これが一番したいような...