web-dev-qa-db-ja.com

リクエストの繰り返しを避けるために、送信されたデータを保存/キャッシュする

私は、本格的なアーカイブ検索ツールを提供するウィジェットを開発しました。そこでは、ユーザーはJSONを介して結果データを返すajaxアクションでWP_Queryに渡されるオブジェクトに結合されるさまざまなオプションを選択できます。

10個の結果がページに送り返されるので、ページ付けが必要です。ページがめくられるたびに新しい要求が送信されます。もっと こちら

私の質問は、リクエストのペイロードを減らすために、ページめくりの後にアクションが呼び出された場合、クエリに関する情報は送信されず、変更ページの順序のみが送信されることです。

これを達成するために私は解決策が既に送られた質問を保存することであると思います。

これはどうすれば可能ですか?

ありがとうございます。

3
Bakaburg

この質問に直接答えようとしています:返すデータが毎回まったく同じである場合は、ブラウザがしばらくの間再度要求しないようにするためにAJAX応答を使用してキャッシュ制御/ expiresヘッダを送信できます。 。

// ask the browser to cache this response, to reduce requests
$expires = 60 * 15;        // 15 minutes
header('Pragma: public');
header('Cache-Control: maxage=' . $expires);
header('Expires: ' . gmdate('D, d M Y H:i:s', time() + $expires) . ' GMT');

しかし、毎回異なるデータが必要な場合は(ページングを介して)、キャッシュは何もしません。 あなたの他の質問に対するこの答え は、あなたが一度に小さい塊をつかむことが得策である理由を説明します。

2
webaware