paneidos / laravel-tagged-cache
Force a tag on your cache, allowing you to share memcache instances.
Installs: 5 220
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Requires
- php: >= 7.3
- illuminate/cache: ^5.6|^6|^7|^8
- illuminate/support: ^5.6|^6|^7|^8
Requires (Dev)
This package is auto-updated.
Last update: 2024-11-20 03:17:55 UTC
README
Laravel Tagged Cache
Force a certain tag on your cache.
Why would I need this?
If you use the same Memcache server for multiple projects/tenants, it might be difficult to flush the cache for only one of them. The only options is to flush the entire cache. Using Laravel's built in TaggableStore
, it's possible to flush the cache for only one project/tenant.
How does it work?
The tagged cache driver is a simple wrapper for another cache driver. All regular access to cache keys, such as get
, put
and remember
, are forced to use the tags
method and include the specified tag. Other special methods, such as lock
are passed through without modification.
Installation
To get started with Laravel Tagged Cache, use Composer to add the package to your project's dependencies:
composer require paneidos/laravel-tagged-cache
Config
Specify a tagged store in your config/cache.php
:
return [ 'stores' => [ 'memcache-tagged' => [ 'driver' => 'tagged', 'backend' => 'memcache', 'tag' => 'project_name', ], 'memcache' => [ // ... ], // ... ], ];
Example: replace your default store
return [ 'default' => 'tagged', 'stores' => [ 'tagged' => [ 'driver' => 'tagged', 'backend' => env('CACHE_DRIVER', 'array'), // Use the database name as the forced tag 'tag' => env('DB_DATABASE', 'none'), ], // ... ], ];
Compatibility
Currently works with Laravel 5.6 and higher. The backend can be any store with support for tags. Note: the file store does not support tags.
Development
# Install dependencies
composer install
# Run tests
composer test
# Run tests & report coverage
composer test -- --coverage-text
Contributing
Send a pull request, ensure you've got test coverage for the new code.
License
Laravel Tagged Cache is licensed under the MIT License.