0

データベースから同じデータを取得する代わりに、ユーザーが最初の検索の後に同じ検索を行ったときに結果ページを表示できるように、結果ページをキャッシュしてパフォーマンスを向上させたいオンライン php 検索ユーティリティがあります。

私は同じ読書をしましたが、静的キャッシュされたページがphpスクリプトの先頭に存在するかどうかを確認し、そうでない場合は下部に作成するという簡単なアイデアを理解しています。

私の質問

1) 多数 (数千) ある場合、キャッシュされた静的ページを検索する最良の方法は何でしょうか?

2) 過去 24 時間の静的ページのみを保持し、古い無関係なページを削除する最善の方法は何でしょうか。

関連する経験や興味深いアイデアを共有して、私たちのサイトに優れたキャッシュ システムを作成するのに役立てていただければ幸いです。

ありがとう

4

2 に答える 2

0
  1. 入力に基づくハッシュ (md5 など) を使用します: クエリ、ページ、フィルター設定など。

  2. キャッシュの有効期限を保持します。


入力が複雑な場合は、次のように言います。

$input = array(
    "query" => "foo",
    "filter" => array(
        "category" => "movies"
    ),
    "page" => 1
);

これを簡単にハッシュに減らすことができますmd5(serialize($input));

于 2013-02-28T16:37:23.197 に答える
0

ハードウェアの最適な用途に応じて、次の 2 つのオプションがあります。

  • 静的キャッシュ : 検索があるたびに、静的な html ページ (php を含まない) を作成し、ディスクに保存します。Apache が認識できる物理パスを作成して、HTML が存在しない場合は PHP ファイルが呼び出され、存在する場合は静的ファイルが呼び出されるようにします。を使用してmod_rewriteいます。cron ジョブを使用して、ファイルの作成時刻を使用して古いページをクリアします。
  • use the database : 検索文字列であるキー列、作成のタイムスタンプ、およびレンダリングされた完全な出力である結果ページを持つテーブルを作成します。

どちらの場合も、キャッシュがある場合はそれを使用します。cron プロセスを使用して、古いキャッシュ エントリを削除します。

于 2013-02-28T16:39:27.063 に答える