lmammino/guzzle-fs-cache-middleware

一个使用文件系统作为后端的Guzzle最小化和有观点的缓存中间件

1.0.0 2020-03-31 17:44 UTC

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。