1. 全ページ静的キャッシュ
つまり、すべてのページは HTML 静的ページに生成され、ユーザーがアクセスすると、phpサーバーの解析プロセスを経ることなく、静的ページに直接アクセスされます。こうして、CMS部門では
dedecms などのシステムで一般的です。
より一般的に使用される実装方法は、出力キャッシュを使用することです。
Ob_start()
******実行するコード************
$content = Ob_get_contents();
****キャッシュされたコンテンツをHTMLファイルに書き込みます*****
Ob_end_clean();
2. 部分的なページのキャッシュ
この方法は、ページの頻繁に変更されない部分を静的にキャッシュしますが、頻繁に変更されるブロックはキャッシュされず、最終的には表示用にまとめられます。
と同様のものを使用できます。Ob_get_contents が実装されており、ESI などのページ フラグメント キャッシュ戦略を使用して、動的ページ内の比較的静的なフラグメントをキャッシュすることもできます
(ESI テクノロジーについては、baidu を参照してください。ここでは詳しく説明しません)。
この方法は、ショッピング モールの商品ページなどで使用できます。
3. データのキャッシュ
名前が示すように、データをキャッシュする方法です。たとえば、商品 ID を使用してモール内の特定の商品情報をリクエストすると、店舗情報と商品情報が含まれますデータを待っている間、ファイル名には製品 ID が含まれており、次回この製品を表示したいときに最初に作成できます。
まず、データベースにクエリせずに、このファイル内の情報を直接調整します。実際、キャッシュ ファイルにキャッシュされているのは php 配列です。
この方法はEcmallモールシステムで使用されています;
4. クエリキャッシュ
実際、これはデータ キャッシュと同じ考え方で、クエリ ステートメントに従ってキャッシュし、クエリによって取得されたデータをファイルにキャッシュし、次回同じクエリが発生したときに直接キャッシュされます
最初にデータベースをチェックせずにこのファイルのデータを調整します。ただし、ここでのキャッシュ ファイル名はクエリ ステートメントに基づいて一意に識別する必要がある場合があります。時間の変化に基づいたキャッシュ
実際には、これは実際のキャッシュ方法ではありません。上記のキャッシュ テクノロジ 2、3、および 4 は通常、キャッシュされたファイルに対して有効なキャッシュ テクノロジを設定する必要があります。
この有効時間内で、同じアクセスは最初にキャッシュ ファイルの内容を取得しますが、設定されたキャッシュ時間を超えると、データをデータベースから再度取得する必要があります。そして最新のキャッシュファイルを生成します;
たとえば、私はモールのホームページを 2 時間ごとに更新するように設定しました。
5. コンテンツの変更に応じてキャッシュします
これは独立したキャッシュ テクノロジではなく、組み合わせて使用する必要があります。つまり、データベースのコンテンツが変更されると、キャッシュ ファイルがすぐに更新されます。
たとえば、トラフィックが多く、商品が多いモールでは、商品テーブルは比較的大きくなければならず、このテーブルへの負担も大きくなります。
販売者がバックグラウンドで製品情報を変更する場合、[保存]をクリックすると、購入者が実際に製品情報にアクセスするときに同時にキャッシュ ファイルが更新されます。 静的ページなのでデータベースにアクセスする必要はありません;
商品ページがキャッシュされていない場合、商品にアクセスするたびにデータベースをチェックする必要があり、100,000 人がその商品をオンラインで閲覧すると、サーバーに大きな負荷がかかることになります。 6. メモリキャッシュこれに関して最初に思いつくのは、Memcached です。memcached は、高性能の分散メモリ キャッシュ サーバーです。 一般的な使用目的はデータをキャッシュすることです
データベース クエリの結果により、データベース アクセスの数が減り、動的 Web アプリケーションの速度とスケーラビリティが向上します。
キャッシュする必要がある情報をシステム メモリにキャッシュします。情報を取得する必要がある場合、より一般的に使用される方法は key-->value メソッドです。
$memcachehost = '192.168.6.191'; $memcacheport = 11211; $memcachelife = 60; $memcache = 新しい Memcache;$memcache->connect($memcachehost,$memcacheport) or die (「接続できませんでした」);
$memcache->set('キー','キャッシュコンテンツ');$get = $memcache->get($key) //情報を取得します
?>
7.Apacheキャッシュモジュール
Apache をインストールした後は、キャッシュすることができません。 Web アクセラレーションに外部キャッシュまたは Squid サーバーが必要な場合は、httpttpd.conf で設定する必要があります
設定はもちろん、Apacheのインストール時にmod_cacheモジュールを有効化することが前提となります。
Apache をインストールする場合: ./configure --enable-cache --enable-disk-cache --enable-mem-cache
Php には APC キャッシュ拡張機能があり、これは Windows では php_apc.dll です。まずこのモジュールをロードしてから、php.ini で設定する必要があります。
拡張子=php_apc.dll 9. オペコードキャッシュ
次回このページを実行するときに、キャッシュされたオペコード コードを直接見つけて、中間ステップを必要とせずに最後のステップを直接実行できます。 よりよく知られているものは、XCache、Turck MM Cache、PHP Accelerator などです。
apc.rfc1867 = オン
アップロード_最大ファイルサイズ = 100M
ポスト最大サイズ = 100M
apc.max_file_size = 200M
アップロード_最大ファイルサイズ = 1000M
Post_max_size = 1000M
max_execution_time = 600; 各 PHP ページの実行時間の最大値 (秒)、デフォルトは 30 秒です
max_input_time = 600; 各 PHP ページがデータを受信するために必要な最大時間、デフォルトは 60
Memory_limit = 128M; 各 PHP ページが消費する最大メモリ、デフォルトは 8M