🍉

Laravel11 cacheコマンド

2024/12/03に公開

この記事は Laravel11にあるArtisanコマンドを全部調べる Advent Calendar 2024 3日目の記事です。

今回はcacheコマンドについて調べました。

環境

  • PHP 8.4.1
  • laravel/laravel 11.3.3
  • laravel/framework 11.33.2

cache:clear

アプリケーションのキャッシュを削除する。

php artisan cache:clear [<store>]

実行すると使用しているキャッシュストア(databaseなど)のキャッシュとstorage/framework/cacheディレクトリ配下にあるファイルを削除します。

引数 説明
store キャッシュストアを指定
  • storeにはconfig/cache.phpのstoresに書かれている内容を指定できます
    • 未指定の場合はデフォルトのdatabaseになります
    • サポートしているのは"array", "database", "file", "memcached","redis", "dynamodb", "octane", "null"です
php artisan cache:clear redis
オプション 説明
--tags[=TAGS] キャッシュタグを指定
  • --tagsを付けることでタグを指定で削除もできます
    • タグが利用できないストアでは指定するとエラーになります
advent-calendar-2024 % php artisan cache:clear database --tags=abc,abc

   BadMethodCallException 

  This cache store does not support tagging.

cache:forget

キャッシュから項目を削除する。

php artisan cache:forget <key> [<store>]

実行すると使用しているキャッシュストアの指定した項目を削除します。

引数 説明
key キャッシュのキーを指定
store キャッシュストアを指定
  • keyは削除したいキーを指定します、未指定の場合はエラーになります
  • storeにはconfig/cache.phpのstoresに書かれている内容を指定できます
    • 未指定の場合はデフォルトのdatabaseになります
    • サポートしているのは"array", "database", "file", "memcached","redis", "dynamodb", "octane", "null"です
php artisan cache:forget key database

cache:prune-stale-tags

キャッシュから古いキャッシュタグを削除する。

php artisan cache:prune-stale-tags [<store>]
引数 説明
store キャッシュストアを指定
  • config/cache.phpのstoresに書かれている内容を指定できます
    • 未指定の場合はデフォルトのdatabaseになります
    • サポートしているのは"array", "database", "file", "memcached","redis", "dynamodb", "octane", "null"です
    • ただし、このコマンドはRedis限定なので"redis"以外を指定することはなさそうです
php artisan cache:prune-stale-tags redis
GitHubで編集を提案

Discussion