ホームページ >バックエンド開発 >PHPチュートリアル >1. フルページの静的キャッシュ
1. フルページ静的キャッシュ
とは、ユーザーがアクセスすると、PHP サーバーの解析プロセスを経ずに、すべてのページが HTML 静的ページに直接アクセスされることを意味します。この方法は、dedecms などの CMS システムでより一般的です。
より一般的な実装方法は、出力キャッシュを使用することです。頻繁に変更されるブロックは静的にキャッシュされますが、頻繁に変更されるブロックはキャッシュされず、最終的にまとめられて表示されます。これは、ob_get_contents と同様のメソッドを使用して実現できます。または、ESI などのページ フラグメント キャッシュ戦略を使用して、動的ページで使用できるようにすることもできます。比較的静的なフラグメント部分のキャッシュ (ESI テクノロジ、Baidu を参照してください。ここでは詳しく説明しません)。
このメソッドは、たとえばモールの商品ページで使用できます。
3. データ キャッシュ
名前が示すように、たとえばモールで特定の商品情報をリクエストする場合にデータをキャッシュする方法です。製品 ID を使用すると、店舗情報、製品情報などのデータを取得できます。この時点で、これらのデータを php ファイルにキャッシュし、ファイル名に製品 ID を含めることで、次回誰かが作成するときに一意の識別子を作成できます。この商品を閲覧したい場合は、まずデータベースに問い合わせることなく、このファイル内の情報を直接調整します。実際、キャッシュ ファイルにキャッシュされているのは php 配列です。
この方法は Ecmall モール システムで使用されます。
4. クエリのキャッシュ 実際、これはデータ キャッシュと同じ考え方で、クエリによって取得されたデータを次回同じクエリに遭遇したときにキャッシュします。これ以上のチェックは行わずに、このファイルから直接取得されます。ただし、ここでのキャッシュ ファイル名は、一意の識別子を確立するためにクエリ ステートメントに基づく必要がある場合があります。実際には、これは実際のものではありません。キャッシュ方法; 上記の 2、3、4 のキャッシュでは、通常、キャッシュされたファイルの有効時間を設定する必要があります。この有効時間内で、同じアクセスがキャッシュされたコンテンツを取得します。ただし、設定したキャッシュ時間を超えると、データベースから再度データを取得して最新のキャッシュ ファイルを作成する必要があります。たとえば、モールのホームページは 2 時間ごとに更新されるように設定します。 ; 5. コンテンツの変更に応じたキャッシュこれは独立したキャッシュ テクノロジではなく、組み合わせて使用する必要があります。つまり、データベースのコンテンツが変更されると、キャッシュ ファイルがすぐに更新されます。人トラフィック
は多くの商品を扱うモールであるため、商品テーブルは大きくする必要があり、このテーブルへの負担は大きくなります。商品ページを表示する場合は、商品情報を変更する必要があります。バックグラウンドで [保存] をクリックすると、同時にキャッシュ ファイルが更新され、購入者が製品情報にアクセスすると、実際にはデータベースへのアクセス
;
に移動する必要がなく、静的なページにアクセスします。想像してみてください。製品ページがキャッシュされていない場合、製品にアクセスするたびにデータベースを確認する必要があり、100,000 人がその製品をオンラインで閲覧すると、サーバーに大きな負荷がかかります。6.
Memcached です。Memcached
は、高性能の分散メモリ キャッシュ サーバーです。 一般的な使用目的は、データベース クエリ結果をキャッシュすることでデータベース アクセスの数を減らし、動的 Web アプリケーションの速度とスケーラビリティを向上させることです。 キャッシュする必要がある情報をシステム メモリにキャッシュします。情報を取得する必要がある場合、より一般的に使用される方法は<code><span>Ob_start<span>()<span><span>******要运行的代码*******<span>$content <span>=<span><span>Ob_get_contents<span>();<span><span>****将缓存内容写入<span>html<span>文件*****<span><span>Ob_end_clean<span>();</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></code>7 です。 apache キャッシュモジュール
apache インストール後はキャッシュできません。外部キャッシュやSquidサーバーでWebアクセラレーションが必要な場合は、当然ながらApacheのインストール時にmod_cacheモジュールが有効化されていることが前提となります。 Apache をインストールする場合: ./configure –enable-cache –enable-disk-cache –enable-mem-cache
8、php APC キャッシュ拡張機能Php には、Windows では php_apc.dll である APC キャッシュ拡張機能があります。これは必須です まずこのモジュールをロードし、php.ini で設定します:<code><span><?<span>php $memcachehost <span>=<span><span>'192.168.6.191'<span>;<span> $memcacheport <span>=<span><span>11211<span>;<span> $memcachelife <span>=<span><span>60<span>;<span> $memcache <span>=<span><span>new<span><span>Memcache<span>;<span> $memcache<span>-><span>connect<span>(<span>$memcachehost<span>,<span>$memcacheport<span>)<span><span>or<span><span>die<span><span>(<span>"Could not connect"<span>);<span> $memcache<span>-><span>set<span>(<span>'key'<span>,<span>'缓存的内容'<span>);<span> $get <span>=<span> $memcache<span>-><span>get<span>(<span>$key<span>);<span><span>//获取信息<span><span>?></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></code>9. オペコード キャッシュ php の実行プロセスを次の図に示すことができます:
まず php コードは次のとおりです。トークンに解析され、それからオペコード コードにコンパイルされ、最後にオペコード コードが実行されて結果が返されるため、同じ php ファイルについては、次回の初回実行時にオペコード コードをキャッシュできます。このページを実行すると、キャッシュされたオペコード コードが直接見つかり、最後のステップが直接実行されるため、中間ステップは必要なくなります。
よりよく知られているものは、XCache、Turck MM Cache、PHP Accelerator などです。
オールマイティープログラマーコミュニケーション QQ グループ 290551701 には、多くのインターネットエリート、テクニカルディレクター、アーキテクト、プロジェクトマネージャーが集まります! IT 業界で働くことに興味のあるオープンソース技術研究者、業界関係者、専門家、初心者の参加を歓迎します以上、1. フルページ静的キャッシュについての内容を含めて紹介しましたが、PHP チュートリアルに興味のある友人の参考になれば幸いです。