ホームページ > バックエンド開発 > PHPチュートリアル > 1. フルページの静的キャッシュ

1. フルページの静的キャッシュ

WBOY
リリース: 2016-07-29 09:15:21
オリジナル
844 人が閲覧しました

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 チュートリアルに興味のある友人の参考になれば幸いです。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート