lmammino / guzzle-fs-cache-middleware
一个使用文件系统作为后端的Guzzle最小化和有观点的缓存中间件
1.0.0
2020-03-31 17:44 UTC
Requires
- php: >=5.6
- symfony/cache: ~3.4
Requires (Dev)
- guzzlehttp/guzzle: ^6.5
Suggests
- guzzlehttp/guzzle: The HTTP client library that guzzle-fs-cache-middleware can be used with
This package is auto-updated.
Last update: 2024-08-29 05:37:45 UTC
README
一个使用文件系统作为后端的Guzzle最小化和有观点的缓存中间件(兼容PHP 5.6+)。
安装
使用composer
composer require lmammino/guzzle-fs-cache-middleware
用法
创建一个LM\Guzzle\FS\CacheMiddleware
实例并将其添加到你的中间件栈中
require_once __DIR__.'/vendor/autoload.php'; use GuzzleHttp\HandlerStack; use GuzzleHttp\Handler\CurlHandler; use GuzzleHttp\Client; use LM\Guzzle\FS\CacheMiddleware; $cacheDir = __DIR__.'/cache/'; $namespace = 'api_client'; $ttl = 60; $cacheMiddleware = new CacheMiddleware($cacheDir, $namespace, $ttl); $stack = new HandlerStack(); $stack->setHandler(new CurlHandler()); $stack->push($cacheMiddleware); $client = new Client(['handler' => $stack]); $res = $client->request('GET', $argv[1]); $headers = $res->getHeaders(); foreach ($headers as $k => $h) { foreach ($h as $v) { echo $k . ": " . $v . "\n"; } } echo "\n\n" . $res->getBody()->__toString() . "\n\n";
CacheMiddleware
接受一个缓存目录、一个可选的命名空间(默认为default
)和一个可选的TTL(默认为60
秒)。
注意:此中间件将始终尊重您提供的TTL,并将忽略任何作为响应返回的HTTP缓存头。这是有意为之。仅当您想强制缓存或用于微缓存场景(例如,非常昂贵且频繁的API调用)时,才使用此中间件。
贡献
每个人都非常欢迎为此项目做出贡献。您可以通过在GitHub上提交问题或提出改进建议来贡献。
许可证
在MIT许可证下许可。© Luciano Mammino。