めも帖

「めも帖」代わりにダラダラと書いていったり、めもしたりしているだけです。

CakePHPでのキャッシュのクリア方法

調べていてなんとなくわかってきたのでメモ。
CakePHPのキャッシュは、キーを指定して、クリアすることが可能です。ですが、キャッシュの機構が用意したキーがどうなっているのかがよくわかりませんでした。というわけで、キーはどこに書かれているんだ?と調べてみたところ、下記の場所にありました

cake/libs/model/datasources/datasource.phpの395行目あたり

$key = ConnectionManager::getSourceName($this) . '_' . $object;

なので、たとえばpostsというテーブル(モデル)があれば、

Cache::delete('default_posts', '_cake_model_');

で削除できるはず。_cake_model_は、キャッシュ機構が指定しているディレクトリを示しています。なんとなくなんですが、ここの指定がなくても消えるような、消えないような...。
memcacheでキャッシュ指定していても、同じ方法で大丈夫でした。

書籍

CakePHPによる実践Webアプリケーション開発

CakePHPによる実践Webアプリケーション開発


買ってみました。