paneidos / laravel-tagged-cache
在缓存上强制使用标签,允许您共享memcache实例。
v1.3.0
2020-09-19 17:52 UTC
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-09-20 02:57:26 UTC
README
Laravel 标签缓存
在缓存上强制使用某个标签。
为什么我需要这个功能?
如果您为多个项目/租户使用相同的Memcache服务器,可能很难仅清除其中一个的缓存。唯一的选择是清除整个缓存。使用Laravel内置的TaggableStore
,您可以为单个项目/租户清除缓存。
它是如何工作的?
标签缓存驱动器是另一个缓存驱动器的简单包装。所有常规缓存键访问,例如get
、put
和remember
,都被强制使用tags
方法并包含指定的标签。其他特殊方法,如lock
,则原样传递。
安装
要开始使用Laravel标签缓存,请使用Composer将包添加到项目的依赖中
composer require paneidos/laravel-tagged-cache
配置
在您的config/cache.php
中指定一个标签存储
return [ 'stores' => [ 'memcache-tagged' => [ 'driver' => 'tagged', 'backend' => 'memcache', 'tag' => 'project_name', ], 'memcache' => [ // ... ], // ... ], ];
示例:替换您的默认存储
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'), ], // ... ], ];
兼容性
目前与Laravel 5.6及以上版本兼容。后端可以是任何支持标签的存储。注意:文件存储不支持标签。
开发
# Install dependencies
composer install
# Run tests
composer test
# Run tests & report coverage
composer test -- --coverage-text
贡献
发送一个pull request,确保您为新的代码提供了测试覆盖率。
许可证
Laravel 标签缓存在MIT许可证下授权。