hmones / laravel-cacheable
一个简单的包,可以自动缓存给定类中某些方法的返回值,并在请求时忘记它们。该包高度可配置,可以轻松管理缓存键的命名。
v1.0.0
2022-07-14 10:19 UTC
Requires
- php: ^7.4|^8.0
- ext-json: *
- illuminate/support: ~7|~8|~9
Requires (Dev)
- orchestra/testbench: ~5|~6|~7
- phpunit/phpunit: ~9.0
This package is auto-updated.
Last update: 2024-09-14 15:02:01 UTC
README
一个简单的包,可以自动缓存给定类中某些方法的返回值,并在请求时忘记它们。该包高度可配置,可以轻松管理缓存键的命名。
安装
通过Composer
composer require hmones/laravel-cacheable
配置
发布包配置
php artisan vendor:publish --tag=laravel-cacheable-config
配置文件包含以下参数
ttl
:缓存函数的默认生存时间- 环境变量:
CACHEABLE_TTL
- 默认值:
3600
- 环境变量:
param-keys-enabled
:是否将函数参数添加到存储缓存项的键中。注意:请确保参数是字符串或整数,否则添加参数将不会工作。- 环境变量:
CACHEABLE_PARAM_KEYS_ENABLED
- 默认值:
false
- 环境变量:
cache-tags-enabled
:是否将标签添加到缓存键的方法名称中,这允许您存储多个调用实例,如果选择添加参数,然后您可以通过删除所有带有此标签的内容来简单地删除它们。如果根据您在此处选择的设置调用forgetCall
,应用程序将自行处理。- 环境变量:
CACHEABLE_TAGS
- 默认值:
false
- 环境变量:
prefix
:如果您想为所有缓存项设置默认前缀- 环境变量:
CACHEABLE_PREFIX
- 默认值:空字符串
- 环境变量:
suffix
:如果您想为所有缓存项设置默认后缀- 环境变量:
CACHEABLE_SUFFFIX
- 默认值:空字符串
- 环境变量:
使用
- 确保您的类扩展
\Hmones\LaravelCacheable\Cacheable
- 而不是直接调用类中的方法,请调用
CLASS::cacheCall('methodName', ['argument1' => 'value', 'argument2' => 'value'])
- 您可以通过以下方式删除缓存的调用
- 如果您有redis和/或支持标签的任何缓存驱动程序,即使您已启用将参数添加到缓存键,您也可以简单地调用
CLASS::forgetCall('methodName)
- 如果您没有支持标签的缓存驱动程序,并且您已启用将函数参数添加到缓存中,您必须在忘记调用中包含参数,如下所示:
CLASS::forgetCall('methodName', ['argument1' => 'value', 'argument2' => 'value'])
- 如果您有redis和/或支持标签的任何缓存驱动程序,即使您已启用将参数添加到缓存键,您也可以简单地调用
示例:每当有10个新用户在网站上注册时,发送包含他们姓名摘要的摘要电子邮件。
变更日志
有关最近更改的更多信息,请参阅变更日志。
测试
composer test
贡献
有关详细信息和工作清单,请参阅contributing.md。
安全
如果您发现任何与安全相关的问题,请通过电子邮件向作者发送,而不是使用问题跟踪器。
鸣谢
许可证
有关更多信息,请参阅许可证文件。