読者です 読者をやめる 読者になる 読者になる

やったこと

webサービスを作るときに考えたことを垂れ流します

【CakePHP3】エレメントのキャッシュが削除できない!

CakePHP3(ver3.1)で、エレメントの表示内容をキャッシュ(ファイルキャッシュ形式です)したのですが、うまく削除できません・・。

例えば以下のように、エレメントの呼び出し時にキャッシュ保存をするとします(キーは「test_post270」)

<?php echo $this->element('comment', ['id'=>$id, 'text'=>$text],
           ['cache' => ['config' => 'long', 'key' => 'test_post270']]
);?>

そして以下のようにキャッシュを削除しようとしてもファイルが削除されません。

Cache::delete("test_post270", "long");

なぜかというと、エレメントで保存したキャッシュは、キー名の頭に勝手に「element_」という文字列がくっつくからです。

なので以下のように「element_」を頭につけてキーを指定しないと、キャッシュは消えないというわけです。

Cache::delete("element_test_post270", "long");

この動作ってなんかおかしくないですかね・・?

実はエレメントキャッシュを削除するための特別な命令があって、私が知らないだけなんでしょうか・・?

なんかすごい不便です・・。