エス技研

WordPress、CakePHP、PHP、baserCMSなどの Web系システムを中心に情報を提供します!


CakePHP3のキャッシュをクリアする方法「bin/cake cache clear_all」を使う

      2019/02/24

CakePHP3では「bin/cake cache clear_all」を使ってキャッシュをクリア

 

「bin/cake cache clear_all」コマンドを使ってすべてのキャッシュを一括クリア

 
CakePHP3のキャッシュをクリアするには下記のコマンドを実行します。
 

 
かつて、CakePHPでキャッシュをクリアする場合は、
CakePHP2の頃は「/app/tmp/cache/」フォルダの中身を、CakePHP3では「/tmp/cache/」フォルダの中身を手作業で削除していく必要がありました。
 
 
ですが、CakePHP3.3でキャッシュ削除するコマンドが追加されましたので、コマンドを入力することで、簡単にキャッシュを削除することができるようになりました。
 
また、コマンドが用意されたことで、
「このファイルキャッシュなのかな?」
「消していいのかな?」
「間違っていてプログラムが動かなくなったりしないかな?」
なんていう心配が要らなくなりました。
 


 

キャッシュのリストを表示させて個別に削除する方法

 
先に紹介した「bin/cake cache clear_all」コマンドは「clear_all」とあるように、キャッシュをまとめて全て削除するコマンドです。
 
キャッシュをまとめて全部消してしまっても問題ありませんが、場合によってはキャッシュを指定してクリアしたい場合もあるかもしれません。
 
その時のためにキャッシュを指定して削除する方法も用意されています。
 
まず、下記の「bin/cake cache list_prefixes」コマンドでキャッシュのリストを表示させることができます。
 

 
続けて、下記のようにキャッシュを指定して削除を実行します。
 

 
上記は、下記で解説したルーティング情報のキャッシュを削除する場合のコマンドです。
CakePHP3のルーティング(routes.php)の変更が反映されない時はキャッシュのクリアを
 
モデルのキャッシュをクリアしたい場合は「_cake_model_」を指定します。
 
 

CakePHP3のキャッシュについて

 
CakePHP3のキャッシュについては、下記のオフィシャルサイトを確認してください。
 
CakePHP3・Cookbook・キャッシュ
https://book.cakephp.org/3.0/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の関連記事

CakePHP3で「SQLSTATE[23000]: Integrity constraint violation」「SQLSTATE[42S22]: Column not found」などのエラーが出たときの確認するポイント
CakePHP3のfriendsofcake/searchでツリーカテゴリーの子階層も含めて検索する方法
CakePHP3のfriendsofcake/searchでブックマークチュートリアルのタグ検索を実装
CakePHP3の検索プラグイン「friendsofcake/search」の様々な検索の仕方の実装方法
CakePHP3の検索プラグイン「friendsofcake/search」の設置方法・CakePHP3.6対応
CakePHP3でテーブルにカラム(項目)を追加したときに変更するポイントのまとめ
cakephp3 カスタムバリデーションを簡易的に実装する方法
CakePHP3のプラグイン「CakeDC/Users」を日本語化・翻訳ファイルもダウンロード可
CakePHP3のメッセージ日本語化の設定(国際化と地域化の機能の使い方の解説)
CakePHP3でQRコードを作成、表示するライブラリ「cakePHP-QR-Code-Helper」
 
その他の「CakePHP3」に関する記事一覧
 
 

 - CakePHP 2.x 3.x

GoogleAdwords

GoogleAdwords

最後までお読みいただきましてありがとうございます。
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

下記の空欄を埋めてください。 * Time limit is exhausted. Please reload CAPTCHA.

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

※入力いただいたコメントは管理者の承認後に掲載されます。

  関連記事

CakePHP 2.3 デバッグキット(DebugKit)超初心者向けフォロー講座

CakePHP初心者に向けてデバッグキット(DebugKit)のインストール方法、はまりポイントを解説。

CakePHP3の更新画面でUpload Plugin 3.0を使う方法、viewで使う方法解説・その3
CakePHP3の更新画面でUpload Plugin 3.0を使う方法、viewで使う方法解説・その3

CakePHP3でファイル、画像をアップロードするプラグイン、upload plugin 3を導入する手順を解説した記事。3部作のその3で記事を更新する際のファイルの取り回しなどについてを解説。

CakePHP3のアソシエーション機能を使い関連レコードをまとめて削除

CakePHP3でレコードを削除する際に関連するレコードをまとめて削除する機能の解説。フレームワークのメリットを存分に発揮し、コマンドを1行追加するだけで実装可能。

CakePHP3のCakeDC/Usersのバリデーションのカスタマイズ方法解説
CakePHP3のCakeDC/Usersのバリデーションのカスタマイズ方法解説

CakeDC謹製Usersプラグインの紹介。Usersのカスタマイズとして入力項目のバリデーションの変更を、プラグインのファイルは触らずオーバーライドにより実装する方法を解説する。

CakePHP3でcomposerを利用してライブラリ・プラグインをインストールする方法

CakePHP3でcomposerを使ってパッケージ(ライブラリ、プラグイン)をインストールする方法の解説。PHPを使うのはCakePHP3が初めてというような方への使い方から解説。

CakePHP3のルーティング(routes.php)の変更が反映されない時はキャッシュのクリアを
CakePHP3のルーティング(routes.php)の変更が反映されない時はキャッシュのクリアを

CakePHP3でルーティングの設定変更をしたけど反映されない!そんなときは慌てず騒がずキャッシュをクリアしよう!ルーティングの設定もキャッシュされることがあるらしい。

CakePHP3の画像、ファイルアップロードプラグインUpload Plugin 3.0の設置解説・その1
CakePHP3の画像、ファイルアップロードプラグインUpload Plugin 3.0の設置解説・その1

CakePHP3でファイル、画像をアップロードするプラグイン、upload plugin 3を導入する手順を解説した記事。3部作のその1で基本的な導入方法の解説で読みながら簡単に導入が可能。

CakePHP3のビューで受取ったテーブルのオブジェクトを連想配列に変換する方法
CakePHP3のビューで受取ったテーブルのオブジェクトを連想配列に変換する方法

コントローラーからビューに送ったテーブルのオブジェクトを連想配列に変換し、ビューの中で自由に使えるようにするメソッド「toArray()」の解説。連想配列に変換できれば利用度アップ!

CakePHP3の検索プラグイン「friendsofcake/search」の様々な検索の仕方の実装方法
CakePHP3の検索プラグイン「friendsofcake/search」の様々な検索の仕方の実装方法

CakePHP3で検索をするプラグイン「friendsofcake/search」の検索条件のカスタマイズ方法の解説。検索項目を増やしたり、以上、以下での検索や、チェックボックスによる検索の方法などを解説。

CakePHP 2.3 ID以外のカラムでアソシエーション(連携)をさせる場合

ID以外のカラムでアソシエーション(連携)させるための考え方とサンプルソースを用いての説明を行っています。