Laravel has different caches for different parts of your application and so there are multiple ways to clear the Laravel cache.
The application cache is the primary cache in Laravel. It stores everything that you manually cache in your application. You can clear only specific elements of the cache if you use tags or different cache stores. The easiest way to clear the Laravel cache is via artisan:
Clear Laravel cache via artisan command
php artisan cache:clear
If you use multiple caches and you want to clear a specific store, you can pass this as a parameter to the command:
php artisan cache:clear --store=redis
You can clear cached items with specific tags with the command:
php artisan cache:clear --tags=tag1,tag2
Clear Laravel cache programmatically
Removing items from the cache programmatically is as easy as clearing the cache via the artisan command. In addition, you can use the cache facade to access the cache or use the cache helper.
Clearing cached items with the tag
awesome-tag is as easy as purging a specific cache store:
Whenever I want to check if there is an item in the cache or remove it from the cache, I start Tinkerwell and run the commands above.
Another part of the application that has a cache is the view cache. The view cache stores rendered Blade templates to speed up your application. You can manually render all views to increase the performance by using the artisan command for it:
php artisan view:cache
If you use this optimization, you have to clear the cache if you deploy new code, otherwise, Laravel uses your old views and you'll try to debug this forever. You can clear the view cache of Laravel with the command:
php artisan view:clear
Laravel recommends caching your configuration files so that the application doesn't need to go through all config files while it bootstraps the framework.
You can combine all config files into one large file and optimize the performance with the command:
php artisan config:cache
Make sure to clear this cache if you change a configuration, for example, during a production deployment process:
php artisan config:clear
When running in production, caching the Events and their Listeners allows for efficient event handling. Laravel recommends to cache events and listeneners during your deployment process – and this means that you have to clear the event cache too.
To cache events and listeners, run the
event:cache command during your deployment:
php artisan event:cache
event:cache command automatically clears all event caches, but if you have to run it manually, you can do it like this:
php artisan event:clear
The route cache is an additional performance cache that you only want to use in production and as part of your deployment process. Caching your routes drastically decreases the amount of time to register your application's routes. You can cache the routes via:
php artisan route:cache
In case you change a route or tried the cache command during development, you have to clear the route cache or your application won't find new routes. You clear the route cache with the command:
php artisan route:clear