I am using Redis
to cache queries/routes in Laravel 5.2.
I have 3 environments running on the same web server i.e "production", "staging", and "development."
For each environment I set a different cache prefix
value to allow me to link the cache to different environment.
In the config/cache.php
file I changed the line
'prefix' => 'laravel',
To
'prefix' => ENV('CACHE_PREFIX', 'laravel'),
Then in my .env
file, I added the prefix for each environment like this
For Dev
CACHE_PREFIX="LaravelDev"
For Staging
CACHE_PREFIX="LaravelStaging"
For Production
CACHE_PREFIX="LaravelProduction"
I know I can clear the cache from the command line like this
php artisan cache:clear
But the code above will clear the cache for all of my environments.
I only want to clear the cache for "LaravelDev" only and leave alone "LaravelStaging" and "LaravelProduction"
How can I clear the cache for a specific environment?
The following is the syntax to clear cache in Laravel is given below: php artisan cache: clear. php artisan config: clear. php artisan cache: clear.
Laravel provides a unified API for various caching systems. The cache configuration is located at app/config/cache. php . In this file you may specify which cache driver you would like used by default throughout your application.
php artisan config:cache This command clears the cached config file as mentioned above and recaches the latest configurations into a single file again.
Instead of using CACHE_PREFIX you can use different redis databases. For ex: production => 1, staging => 2, development => 3. Use this links if you want to be a little bit more familiar with it:
So, in your .env file for each environment (production/stage/dev) you need to define different REDIS_CACHE_DB env value.
Link to the line uses this variable https://github.com/laravel/laravel/blob/2a2522d8824c0852e30a7e3e07d46a543eb4b33d/config/database.php#L142 . Examples of .env:
.env.production
REDIS_CACHE_DB=1
.env.stage
REDIS_CACHE_DB=2
.env.development
REDIS_CACHE_DB=3
Don't forget to clear config cache after changing env variables: https://laravel.com/docs/7.x/configuration#configuration-caching
Hope this helps!
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With