Guzzle 6を使用していくつかのRESTクエリを実行しているページがありますが、問題なく動作することがあります。リモートAPIからの応答をキャッシュすると思われるguzzle-cache-middlewareがあることがわかりました。PHP:Guzzle 6 + Guzzle-cache-middleware
私はそれを動作させることはできませんしかし、私のコードは次のようなもの:私はエラーや警告を取得しないコードを実行した後
use GuzzleHttp\Client;
use GuzzleHttp\HandlerStack;
use League\Flysystem\Adapter\Local;
use Kevinrob\GuzzleCache\CacheMiddleware;
use Kevinrob\GuzzleCache\Strategy\PrivateCacheStrategy;
use Kevinrob\GuzzleCache\Storage\FlysystemStorage;
(...)
$stack = HandlerStack::create();
$stack->push(
new CacheMiddleware(
new PrivateCacheStrategy(
new FlysystemStorage(
new Local("/tmp/sitex")
)
)
),
"cache"
);
// Request
$client = new Client([
"handler" => $stack,
"base_uri" => "http://...,
"timeout" => 2.0,
]);
$response = $client->request("GET", "/posts", [
(...)
を。口角はまだ私にAPIの応答を与えるが、何も新しい/tmp/sitex
に表示されません。
レスポンスをキャッシュする要求の後に何か設定する必要はありますか?回答のTTLを設定するなどのオプションがありますか?
ドキュメントではこれについて説明していないので、Guzzleで経験した人が助けてくれればうれしいです。 :)
で
use Kevinrob\GuzzleCache\Strategy\PrivateCacheStrategy;
を置き換えます –