abr4xas / cache-ui-laravel
List, search and delete individual cache keys without having to purge the entire cache
Fund package maintenance!
www.paypal.com/paypalme/soyangelcruz
Requires
- php: ^8.3
- illuminate/contracts: ^12.32.5
- laravel/prompts: ^0.3.7
Requires (Dev)
- laravel/pint: ^1.25.1
- orchestra/testbench: ^10.6
- pestphp/pest: ^4.1.1
- pestphp/pest-plugin-type-coverage: ^4.0.2
- phpstan/phpstan: ^2.1.29
- rector/rector: ^2.1.7
This package is auto-updated.
Last update: 2025-10-02 00:22:57 UTC
README

Cache UI Laravel
A Laravel package that allows you to list, search and delete individual cache keys without having to purge the entire cache. Supports multiple cache drivers (Redis, File, Database) with an interactive command line interface.
Installation
You can install the package via composer:
composer require abr4xas/cache-ui-laravel
Optionally, you can publish the config file with:
php artisan vendor:publish --tag="cache-ui-laravel-config"
Configuration
After publishing the config file, you can customize the package behavior:
return [ // Default cache store to use 'default_store' => env('CACHE_UI_DEFAULT_STORE', null), // Character limit in value preview 'preview_limit' => env('CACHE_UI_PREVIEW_LIMIT', 100), // Number of visible items in scroll 'search_scroll' => env('CACHE_UI_SEARCH_SCROLL', 15), ];
You can also configure these values in your .env
file:
CACHE_UI_DEFAULT_STORE=redis CACHE_UI_PREVIEW_LIMIT=150 CACHE_UI_SEARCH_SCROLL=20
Usage
Basic Command
Run the command to list and manage cache keys:
php artisan cache:list
Specify a Cache Store
If you have multiple cache stores configured, you can specify which one to use:
php artisan cache:list --store=redis
Features
- 🔍 Interactive search: Search cache keys by typing text
- 📋 List all keys: View all available keys in your cache
- 👁️ Value preview: See the value of the key before deleting it
- 🗑️ Selective deletion: Delete individual keys without affecting the rest of the cache
- 🔌 Multiple drivers: Supports Redis, File and Database
Supported Drivers
- ✅ Redis: Lists all keys using Redis KEYS command
- ✅ File: Reads cache files from the filesystem
- ✅ Database: Queries the cache table in the database
- ⚠️ Array: Not supported (array driver doesn't persist between requests)
- ⚠️ Memcached: Not currently supported
Usage Example
$ php artisan cache:list 📦 Cache driver: redis ✅ Found 23 cache keys 🔍 Search and select a cache key to delete > user_1_profile 📝 Key: user_1_profile 💾 Value: {"name":"John Doe","email":"john@example.com"} Are you sure you want to delete this cache key? › No / Yes 🗑️ The key 'user_1_profile' has been successfully deleted
Programmatic Usage
You can also use the CacheUiLaravel
class directly in your code:
use Abr4xas\CacheUiLaravel\Facades\CacheUiLaravel; // Get all cache keys from default store $keys = CacheUiLaravel::getAllKeys(); // Get all cache keys from a specific store $redisKeys = CacheUiLaravel::getAllKeys('redis'); // Delete a specific key from default store $deleted = CacheUiLaravel::forgetKey('user_1_profile'); // Delete a key from a specific store $deleted = CacheUiLaravel::forgetKey('session_data', 'redis');
Testing
composer test:unit
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
License
The MIT License (MIT). Please see License File for more information.