hmones/laravel-cacheable

一个简单的包,可以自动缓存给定类中某些方法的返回值,并在请求时忘记它们。该包高度可配置,可以轻松管理缓存键的命名。

v1.0.0 2022-07-14 10:19 UTC

This package is auto-updated.

Last update: 2024-09-14 15:02:01 UTC


README

Build Status Style CI Total Downloads Latest Stable Version License

一个简单的包,可以自动缓存给定类中某些方法的返回值,并在请求时忘记它们。该包高度可配置,可以轻松管理缓存键的命名。

安装

通过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'])

示例:每当有10个新用户在网站上注册时,发送包含他们姓名摘要的摘要电子邮件。

变更日志

有关最近更改的更多信息,请参阅变更日志

测试

composer test

贡献

有关详细信息和工作清单,请参阅contributing.md

安全

如果您发现任何与安全相关的问题,请通过电子邮件向作者发送,而不是使用问题跟踪器。

鸣谢

许可证

有关更多信息,请参阅许可证文件