CakePHP3、CakePHP4のキャッシュをクリアする方法「bin/cake cache clear_all」を使う
2022/02/26
CakePHP3、CakePHP4では「bin/cake cache clear_all」を使ってキャッシュをクリア
「bin/cake cache clear_all」コマンドを使ってすべてのキャッシュを一括クリア
CakePHP3、CakePHP4のキャッシュをクリアするには下記のコマンドを実行します。
(この記事は、CakePHP3の記事として書きましたが、CakePHP4でも同様に動作することを確認しています。「CakePHP3」を「CakePHP4」と読み替えていただいて問題ありません。)
|
1 2 |
$ cd [CakePHPのルートフォルダ] $ bin/cake cache clear_all |
かつて、CakePHPでキャッシュをクリアする場合は、
CakePHP2の頃は「/app/tmp/cache/」フォルダの中身を、CakePHP3では「/tmp/cache/」フォルダの中身を手作業で削除していく必要がありました。
ですが、CakePHP3.3でキャッシュ削除するコマンドが追加されましたので、コマンドを入力することで、簡単にキャッシュを削除することができるようになりました。
また、コマンドが用意されたことで、
「このファイルキャッシュなのかな?」
「消していいのかな?」
「間違っていてプログラムが動かなくなったりしないかな?」
なんていう心配が要らなくなりました。
キャッシュのリストを表示させて個別に削除する方法
先に紹介した「bin/cake cache clear_all」コマンドは「clear_all」とあるように、キャッシュをまとめて全て削除するコマンドです。
キャッシュをまとめて全部消してしまっても問題ありませんが、場合によってはキャッシュを指定してクリアしたい場合もあるかもしれません。
その時のためにキャッシュを指定して削除する方法も用意されています。
まず、下記の「bin/cake cache list_prefixes」コマンドでキャッシュのリストを表示させることができます。
|
1 2 3 4 5 |
$ bin/cake cache list_prefixes default _cake_core_ _cake_model_ _cake_routes_ |
続けて、下記のようにキャッシュを指定して削除を実行します。
|
1 |
$ bin/cake cache clear _cake_routes_ |
上記は、下記で解説したルーティング情報のキャッシュを削除する場合のコマンドです。
CakePHP3のルーティング(routes.php)の変更が反映されない時はキャッシュのクリアを
モデルのキャッシュをクリアしたい場合は「_cake_model_」を指定します。
CakePHP3、CakePHP4のキャッシュについて
CakePHP3、CakePHP4のキャッシュについては、下記のオフィシャルサイトを確認してください。
CakePHP3・Cookbook・キャッシュ
https://book.cakephp.org/3.0/ja/core-libraries/caching.html
CakePHP4・Cookbook・キャッシュ
https://book.cakephp.org/4/ja/core-libraries/caching.html
ここで紹介した「bin/cake cache clear_all」コマンドで
/tmp/cache/persistent/
/tmp/cache/models/
/tmp/cache/view/
フォルダの中の各ファイル、および
/tmp/cache/myapp_cake_routes_route_collection
などのキャッシュが削除されます。
また、デフォルトは、キャッシュをファイルとして保持する設定になっています。
それらの設定は「/config/app.php」ファイルに記載されていますが、下記の「bin/cake cache list_prefixes」コマンドで表示される「_cake_core_」「_cake_model_」「_cake_routes_」などについては、その「/config/app.php」ファイルに記載されているコメントを読むと何についてのキャッシュなのかが分かります。
_cake_core_(CACHE_CAKECORE_URL)
Configure the cache used for general framework caching.
Translation cache files are stored with this configuration.
Duration will be set to ‘+2 minutes’ in bootstrap.php when debug = true
If you set ‘className’ => ‘Null’ core cache will be disabled.
一般的なフレームワークキャッシュに使用されるキャッシュを設定します。
翻訳キャッシュファイルはこの設定で保存されます。
debug = trueの場合、期間はbootstrap.phpで「+ 2分」に設定されます。
‘className’ => ‘Null’と設定すると、コアキャッシュは無効になります。
_cake_model_(CACHE_CAKEMODEL_URL)
Configure the cache for model and datasource caches.
This cache configuration is used to store schema descriptions, and table listings in connections.
Duration will be set to ‘+2 minutes’ in bootstrap.php when debug = true
モデルキャッシュとデータソースキャッシュ用にキャッシュを設定します。
このキャッシュ設定は、スキーマの説明とテーブルリストを接続に格納するために使用されます。
debug = trueの場合、期間はbootstrap.phpで「+ 2分」に設定されます。
_cake_routes_(CACHE_CAKEROUTES_URL)
Configure the cache for routes.
The cached routes collection is built the first time the routes are processed via config/routes.php.
Duration will be set to ‘+2 seconds’ in bootstrap.php when debug = true
ルート用のキャッシュを設定します。
キャッシュされたルートコレクションは config / routes.phpでルートが最初に処理されたときに構築されます。
debug = trueの場合、所要時間はbootstrap.phpで ‘+ 2秒’に設定されます。
CakePHP3の関連記事
CakePHPのpostlinkで生成した削除リンクをクリックしても処理が実行されない対処法CakePHP4のCSS、JavaScript、画像のブラウザへのキャッシュをコントロールする
CakePHP3でレコードを保存(追加、更新、Insert、Update)する複数の方法を紹介
CakePHP3でモデルなしフォームからCSVをアップロードしレコードを更新する方法解説
CakePHP3でPHP Simple HTML DOM Parserを使ってスクレイピングする方法
CakePHP3のInsert On Duplicate Key Update(upsert)構文を解説・バルク処理も
CakePHP3の1対多での連携を中間テーブルを使った多対多の連携に変更するときの手順
CakePHP3でデフォルトのソート条件を設定してユーザの選択肢たソート条件を有効にする方法
CakePHP3で Ajaxを使う方法の解説。3.6以降対応。Successとthenの両方を解説。
CakePHP3でパンくずの指定は HTMLヘルパーを使って指定する方法を解説
その他の「CakePHP3」に関する記事一覧
CakePHPのpostlinkで生成した削除リンクをクリックしても処理が実行されない対処法
CakePHP4系でJSONレスポンスの処理ではwithStringBodyを使う。3との違い解説
CakePHP4、CakePHP5の「warning: DebugKit is disabling...」の対処方法
MySQL+CakePHPのdate型、datetime型項目は「2999-12-31」までしか扱えない
CakePHP4のFrozenDateで1ヵ月前、先月、今月1日、来月末の日付などを算出する方法
CakePHP4のcake cache clear_allでPermission deniedはパーミッションの変更が必要
CakePHP4のクリエビルダーを使用してOR条件をAND条件でつなぐSQL文を作る方法
CakePHP4のController内でViewテンプレート、レイアウトの変更設定を記述する方法
CakePHP4から外部のデータベースにアクセスする方法解説
CakePHP4の数値項目は「like %10%」の部分一致検索(find select)はできない
その他の「CakePHP4」に関する記事一覧
GoogleAdwords
GoogleAdwords
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!
関連記事
-
-
CakePHP3でPHPExcelを使ってエクセルファイルを生成、出力する方法
CakePHP3でPHPExcelを利用してエクセルを編集、出力するサンプルソース+解説。PHPExcelのインストール方法の解説からファイル保存とダウンロードの方法なども解説。
-
-
CakePHP4、5のユーザ認証でID、PASS以外の削除フラグなども条件加える方法
CakePHP4系、5系ではAuthenticationを使用してログイン認証を行う。その認証でID、PASS以外の削除フラグなどの条件を加えたいときの対応方法について解説。
-
-
CakePHP3にOGPをfetch、asignを利用してテンプレートごとに指定する方法を解説
CakePHP3でOGPを設定する方法を解説。fetch、assignを使用しレイアウトファイルに編集した変数にテンプレートファイルから値を指定する。これを利用してOGPを編集する。
-
-
CakePHP4のCakeDC/Usersのログイン時のリダイレクトとユーザ権限管理の設定解説
CakeDC謹製UsersプラグインのCakePHP4版の紹介。ログイン認証後にリダイレクトする先の設定方法についての解説と実運用するために必要なコツを解説。便利な仕組みも仕様の理解があって初めてうまく使いこなせる。
-
-
Google Analytics APIを CakePHP3で動かしてレポートデータを取得する方法の解説
CakePHP3で Google Analytics APIからレポートデータを取得する処理の解説。PHPのサンプルソースをCakePHP3で動くように改造。加えて、ディメンションやメトリックスを条件に設定する方法なども。
-
-
CakePHP 2.3 ログイン、操作履歴、アクセスログ出力
CakePHPでログインや操作履歴などのアクセスログ出力処理を作成します。
-
-
CakePHP3のプラグイン「CakeDC/Users」を日本語化・翻訳ファイルもダウンロード可
CakePHP3のユーザ管理、ログイン認証プラグインである「CakeDC/Users」のメッセージを日本語にする手順の解説とともに、日本語の翻訳ファイルを提供。ファイルを設置すれば日本語になる!
-
-
CakePHP3でユーザ定義の定数、変数を設定し、読み込む方法解説
CakePHP3で定数や共通で使う変数をまとめて設定し、プログラム内で読み込む方法を、bootstrap.phpに直接記述する方法と定数ファイルを分ける方法の3つの方法で解説。
-
-
CakePHP3でCookieを保存、呼び出し、削除の操作・CakePHP3.7対応
CakePHP3.7でCookieを保存、取り出し、削除する方法を解説。CakePHP3でのCookieの取り扱いはバージョンごとに変更されるため、環境に合わせた方法を探す必要がある。
-
-
CakePHP 2.3でファイルのアップロード処理を作る
CakePHPでプラグインを使わないファイルアップロード処理を解説します。簡単です。DBにファイルを格納する方法も。