【Laravel】ファイルキャッシュが動くかテスト

概要

ファイルキャッシュを使って、1分経過したらキャッシュから消えるようにした。

方法

実際に、Laravelのドキュメントの通りに実装すると

/storage/framework/cacheの場所にキャッシュができていた。

$value = \Cache::store('file')->remember('key', 1, function() {
    return DB::table('test')->get();
});

1分後にキャッシュが消えていることを確認すべく/storage/framework/cacheに作成された キャッシュデータを確認したが、いくら待てども消えなかった。 なぜ消えないかはさておき、別の方法としてhasメソッドを使ってキャッシュの存在を確認してみた。

if (\Cache::store('file')->has("key")) {
  // 存在する場合
}else{
  // 存在しない場合
}

これを実行すると、1分後にキャッシュが存在しない場合のほうに処理が入ったので、とりあえずキャッシュは消えていそうである。

追記

不要なキャッシュを削除するためにはどうやらLaravelはキャッシュクリアコマンド(artisan)を利用する必要がありそう。

qiita.com