duncan3dc / cache
简单的 PSR-6/PSR-16 兼容磁盘缓存
1.0.0
2022-03-13 16:51 UTC
Requires
- php: ^7.3 || ^8.0
- psr/cache: ^1.0.1
- psr/simple-cache: ^1.0.1
Requires (Dev)
- duncan3dc/object-intruder: ^0.3.0 || ^1.0
- duncan3dc/php-ini: ^1.0
- maglnet/composer-require-checker: ^2.0 || ^3.0
- mockery/mockery: ^1.5
- phpstan/phpstan: ^0.12.99
- phpstan/phpstan-mockery: ^0.12.14
- phpstan/phpstan-phpunit: ^0.12.22
- phpunit/phpunit: ^9.5
- squizlabs/php_codesniffer: ^3.6
README
一个简单的PSR-6/PSR-16兼容磁盘缓存,适用于PHP
安装
推荐通过Composer安装此库。
在您的项目根目录中运行以下命令
$ composer require duncan3dc/cache
快速示例
可用2种缓存提供者,一个是本地文件系统,另一个是内存中的简单数组缓存。
使用FilesystemPool
将永久保留数据(或者直到文件系统被清除)。
$cache = new \duncan3dc\Cache\FilesystemPool(sys_get_temp_dir()); # The $cache object implements PSR-6 $userData = $cache->getItem("user_data")->get(); # ...and PSR-16 $userData = $cache->get("user_data");
使用ArrayPool
不会在当前请求之外保留数据。
$cache = new \duncan3dc\Cache\ArrayPool(); # The $cache object implements PSR-6 $userData = $cache->getItem("user_data")->get(); # ...and PSR-16 $userData = $cache->get("user_data");
还有一个trait允许任何方法自动缓存。
$cache = new class { use \duncan3dc\Cache\CacheCallsTrait; public function _getData() { return []; } }; $cache->getData();
第一次调用getData()
时将运行_getData()
,但之后对getData()
的后续调用将直接返回第一次调用_getData()
时缓存的值。
更新日志
自从有历史以来就有一个更新日志可用。
如何获取帮助
发现了一个错误?有了一个问题?只是不确定某件事是如何工作的?
请创建一个问题,我将尽力帮助您。
或者您可以在Twitter上找到我
duncan3dc/cache 企业版
作为Tidelift订阅的一部分提供
duncan3dc/cache的维护者和其他数千个软件包的维护者正在与Tidelift合作,为构建应用程序时使用的开源依赖项提供商业支持和维护。节省时间,降低风险,并提高代码质量,同时支付您使用的确切依赖项的维护者。了解更多信息。[链接](https://tidelift.com/subscription/pkg/packagist-duncan3dc-cache?utm_source=packagist-duncan3dc-cache&utm_medium=referral&utm_campaign=readme)