60
55

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【CakePHP】キャッシュ削除

Last updated at Posted at 2015-04-13

CakePHPではパフォーマンス向上のため、app/tmp/cacheにキャッシュファイルを持っている。

core.phpのデバッグレベルを0にした状態で、テーブル定義を変更すると、テーブル定義のキャッシュと不整合のためエラーになる場合がある。

デバッグレベルを0にした状態(本番環境)でテーブル定義を変更した場合の対策をまとめる。

1.デバッグレベルを1以上にしてアクセス
デバッグレベルを1以上の場合、都度キャッシュファイルが書き換わるので。

2.app/tmp/cache配下のキャッシュファイルを削除
まんまキャッシュファイルを削除

3.キャッシュファイル削除用のコンソールを作成実行
デプロイ時にコンソールを実行してキャッシュを削除する。
自分のところではこれを採用している。

class CacheClearShell extends AppShell {
  function main(){
      $config_list = Cache::configured();
      foreach ($config_list as $value) {
          Cache::clear(false, $value);
      }
      clearCache();
  }
}
60
55
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
60
55

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?