Masayan tech blog.

  1. ブログ記事一覧>
  2. 【Laravel】主なキャッシュの種類と仕組み

【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ファイルのキャッシュを作成してはいけない話

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

php artisan optimize:clear

以上です。

まとめ

いかがでしたでしょうか。本記事では、Laravelにおけるキャッシュの仕組みと種類に応じた特徴をまとめています。キャッシュはうまく活用すれば便利ですが、特に初心者のうちは変更した内容が反映されない等の不具合を生じやすいのである程度仕組みを理解しておくことが必要になるかと思います。