【Laravel】主なキャッシュの種類と仕組み

環境

  • windows10
  • DockerDesktop for Win 3.5.x
  • Laravel 8.x
  • PHP 8.x
  • VsCode
  • gitbash 2.32.0.1

キャッシュによる高速化

  • Laravelでは以下のような流れで、設定ファイルをキャッシュすることにより、レスポンスの高速化を実現している
  • キャッシュは以下のコマンドにより、bootstrap/cache/config.phpに生成される
    php artisan config:cache

本題

.envファイルに設定した環境変数が反映されない場合は、以下のコマンドでキャッシュを削除すればよい

bootstrap/cache/config.phpが削除され、/confing以下の各設定ファイルを見に行くようになり、各設定ファイルでenv()で記述していれば、.envファイルに記述した環境変数を使用できるようになる

php artisan config:clear

設定ファイル以外の主なキャッシュ

config以外のキャッシュについてもまとめた

種類キャッシュ(ファイル)の場所コマンド
ルーティングbootstrap/cache/routes.php
  • 作成
    • php artisan route:cache
  • 削除
    • php artisan route:clear
view(blade)storage/framework/views
  • 作成
    • php artisan view:cache
  • 削除
    • php artisan view:clear
アプリケーションのキャッシュstorage/framework/cache/data
  • 削除
    • php artisan cache:clear
サービスプロバイダ関連のキャッシュbootstrap/cache/services.php
  • 削除
    • php artisan clear-compiled
packageのキャッシュ(sanctumとか、tinkerとかのライブラリ)bootstrap/cache/packages.php
  • 削除
    • php artisan clear-compiled

開発環境におけるキャッシュ

こちらの記事でも取り上げましたが、開発環境ではソースコードを頻繁に修正し、その変更がすぐに反映されてほしいので、キャッシュは作成しないほうがよいです。

【Laravel8】開発環境で安易にconfigファイルのキャッシュを作成してはいけない話
【Laravel8】開発環境で安易にconfigファイルのキャッシュを作成してはいけないというテーマで説明を行なっています。php artisan config:cacheを実行すると、キャッシュを消去しない限りconfigディレクトリ配下の設定ファイルを修正するたびにphp artisan config:cacheを実行しなければ設定が反映されなくなってしまい、開発を行う上で非常に煩雑になるためです。

ちなみに、以下のコマンドで上記で紹介したすべてのキャッシュを一括でクリアできます

php artisan optimize:clear

以上です。

タイトルとURLをコピーしました