This is a very simple package. It provides a singular command cache:prune. This command mimics the cache:clear command's functionality with one
slight difference; it only works on expired cache items in the DatabaseStore. If this command is used on any other cache driver, it will throw a
RuntimeException.
Run composer require encoredigitalgroup/laravel-cache-prune. There is no need to do anything else; this package will automatically register the command
from its Service Provider.
When using the database store in Laravel, when a cache item expires, it is not automatically removed from the cache table. Instead it stays there forever, or until that same cache key is reused with a new value. Running this command will clean up any lingering database rows in the cache table.
Simply run php artisan cache:prune from your terminal and let this command cleanup your cache table. You can also add this to you routes/console.php
to run this on a set schedule:
use EncoreDigitalGroup\LaravelCachePrune\Console\Commands\CachePruneCommand;use Illuminate\Support\Facades\Schedule;
Schedule::command("cache:prune")->daily(); // Or any other interval you prefer.
//OR
Schedule::command(CachePruneCommand::class)->daily(); // Or any other interval you prefer.