CakePHP でバッチ処理を組むときの注意
CakePHP でバッチ処理を組む際、Model::cacheQueries が true の状態で、Model::find() を繰り返すとあっという間にメモリ不足に陥ってしまった。バッチ処理中に同じクエリを利用することはないため、クエリのキャッシュを無効化した。
例1: バッチ処理のために一時的にキャッシュを無効化する。
<?php $this->Foo->cacheQueries = false; // 無効化
例2: あらかじめクラスの定義で無効化しておく。
<?php // CakePHP 2.0 class Foo extends AppModel { public $name = 'Foo'; public $cacheQueries = false; // 無効化 }