[CakePHP2.2] Cache::writeの第三引数、Cache::readの第二引数

Cakephp2.2で独自設定でCacheを使うと問題が出やすいのでメモ。

Cache:write()、Cache:read()のようにして変数を取り回したい場合、以下のようにして保存すれば問題ありません。

Cache::write(‘my_key’, ‘hoge’); //第三引数は省略時、default

この時、

Cache::read(‘my_key’);

のようにすれば’hoge’を取り出せます。

しかし、他のCache設定を使いたい場合(例えばmemcacheを使うなどで設定を分けている場合)は、

Cache::write(‘my_key’, ‘fuga’, ‘my_memcache’);

などとして保存しますが、

Cache::read(‘my_key’);

では取り出せません。defaultのmy_keyが取り出されます。

Cache::read(‘my_key’, ‘my_memcache’);

としないといけません。Cache::deleteの場合も同様です。

当たり前といえば当たり前なのですが、マニュアルに書いていないので注意しましょう。

結局、「あれ?変だな」と思ったら自分でフレームワークのソースを確認しろってことなんですよね。