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の場合も同様です。
当たり前といえば当たり前なのですが、マニュアルに書いていないので注意しましょう。
結局、「あれ?変だな」と思ったら自分でフレームワークのソースを確認しろってことなんですよね。