Cache::write でなんでもキャッシュする
CakePHP1.2 で WEB API の情報なんかをキャッシュしたい時に Cache::write を使うと楽チンでした
http://book.cakephp.org/ja/view/764/Cache
if(($content = Cache::read('content')) === false) { //有効なキャッシュがあるか
$content = file_get_contents($url); //キャッシュがないのでとってくる
Cache::write('content', $content, array('duration' => '+5 minutes')); //5分間キャッシュ
}
追記: Cache::write の duration は Cache::set を使ったほうがいいみたいでした
Cache::set(array('duration' => '+5 minutes'));
Cache::write('content', $content);
これで 5分以内であればキャッシュを使用して、それ以上だと$urlに内容を取りに行きます
キャッシュの保存先は Cache::config で設定したとこっぽい
最初オブジェクトをキャッシュしようとしたら Cache::read の時に 「unserialize できない!」となったので連想配列にしてからキャッシュしたら大丈夫でした!
追記: くわしくはこちら CakePHP cache()はCache::write()に - Shin x blog