ホームページ >バックエンド開発 >PHPチュートリアル >PHPキャッシュ技術の詳細まとめ_PHPチュートリアル

PHPキャッシュ技術の詳細まとめ_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-21 14:59:21862ブラウズ

全ページ静的キャッシュ
とは、すべてのページが HTML 静的ページとして生成されることを意味し、ユーザーがアクセスすると、PHP サーバーの解析プロセスを経ずに直接アクセスされます。この方法は、dedecms などの CMS システムでより一般的です。
より一般的な実装方法は、出力キャッシュを使用することです:

コードをコピーします コードは次のとおりです:

Ob_start()
*** ** *実行するコード************
$content = Ob_get_contents();
****キャッシュされたコンテンツを HTML ファイルに書き込みます*****
Ob_end_clean();

ページの部分キャッシュ
このメソッドは、ページの頻繁に変更されない部分を静的にキャッシュしますが、頻繁に変更されるブロックはキャッシュされず、最終的には ob_get_contents と同様のメソッドを使用してまとめられて表示されます。 ESI のようなもの。ページ フラグメント キャッシュ戦略は、動的ページ内の比較的静的なフラグメントをキャッシュするために使用されます (ESI テクノロジについては Baidu に問い合わせてください。ここでは詳しく説明しません)。

このメソッドは、たとえばモールの商品ページで使用できます。

データ キャッシュ
その名前が示すように、たとえば、モール内の特定の商品情報がリクエストされた場合にデータをキャッシュする方法です。このとき、ストア情報、製品情報などのデータが取得され、ファイル名には製品 ID が含まれており、次回作成するときに使用されます。この製品を表示するには、まずこのファイルの情報をデータベースでクエリする必要はありません。実際、キャッシュ ファイルにキャッシュされているのは php 配列です。

このメソッドは Ecmall モール システムで使用されます;



クエリ キャッシュ
実際、これはクエリ ステートメントに従ってファイルにキャッシュするというデータ キャッシュと同じ考え方です。同じクエリを実行するとき、データはデータベースをチェックせずにこのファイルから直接取得されます。ただし、ここでのキャッシュ ファイル名はクエリ ステートメントに基づいて一意に識別する必要がある場合があります。
時間に基づいてキャッシュします。変化

実際には、これは実際のキャッシュ方法ではありません。上記のキャッシュ テクノロジ 2、3、および 4 は通常、時間変更の判断を使用します。つまり、キャッシュされたファイルの有効時間を設定する必要があります。この有効時間内であれば、同じアクセスが可能です。最初にキャッシュ ファイルの内容が取得されますが、設定されたキャッシュ時間を超えると、データベースからデータを再取得する必要があり、最新のキャッシュ ファイルが作成されます

たとえば、私たちのホームページを設定しました。モールは 2 時間ごとに更新されます。
コンテンツの変更を押すと、これは独立したキャッシュ テクノロジではなく、組み合わせて使用​​する必要があります。つまり、データベースのコンテンツが変更されると、キャッシュ ファイルがすぐに更新されます。
たとえば、トラフィックが多く商品が多いショッピング モールでは、商品テーブルが比較的大きくなければならず、販売者が商品表示ページを変更するときにこのテーブルへの負荷も大きくなります。バックグラウンドで製品情報を確認し、[保存] をクリックすると、購入者がこの製品情報にアクセスするときに同時にキャッシュ ファイルが更新され、実際には静的ページにアクセスすることになり、データベースにアクセスする必要はありません。
商品ページがキャッシュされていない場合、商品にアクセスするたびにデータベースを確認する必要があると思います。100,000 人が商品をオンラインで閲覧すると、サーバーへの負荷が大きくなります

で述べたように、おそらく誰もが最初に考えるのは Memcached であり、memcached は高性能の分散メモリ キャッシュ サーバーです。 一般的な使用目的は、データベース クエリ結果をキャッシュすることでデータベース アクセスの数を減らし、動的 ​​Web アプリケーションの速度とスケーラビリティを向上させることです。

システム メモリにキャッシュする必要がある情報をキャッシュします。情報を取得する必要がある場合、より一般的に使用される方法はキー-->値メソッドです。コード
コードは次のとおりです:

$memcachehost = '192.168.6.191';

$memcacheport = 11211; $memcachelife = 60; $memcache = new Memcache; $me mcache ->connect($memcachehost,$memcacheport) または die (「接続できませんでした」); $memcache->set('key','cached content'); $get = $memcache->get( $key); // 情報を取得しますか? >



Apacheキャッシュモジュール
Apacheのインストール後は、キャッシュすることができません。外部キャッシュやSquidサーバーでWebアクセラレーションが必要な場合は、当然ながらApacheのインストール時にmod_cacheモジュールが有効化されていることが前提となります。

Apache をインストールする場合: ./configure --enable-cache --enable-disk-cache --enable-mem-cache

php APC キャッシュ拡張機能
Php には、Windows では php_apc.dll である APC キャッシュ拡張機能があります。まずこのモジュールをロードしてから、php.ini で設定する必要があります:
use using using using using using through out through ‐ through out off ’ s ‐ ‐ ‐‐‐‐‐‐ and X Post_max_size = 1000m
max_execution_time = 600; 各 PHP ページの最大時間値 (秒)、デフォルトでは 30 秒
max_input_time = 600; mit = 128m、デフォルトは 8M です

PHP の実行プロセスは次の図に示すことができることを知ってください:




まず、PHP コードがトークンに解析され、次にオペコード コードにコンパイルされ、最後にオペコード コードが実行されて結果が返されます。そのため、同じ PHP ファイルの場合、そのオペコード コードは初回実行時にキャッシュできます。次回ページが実行されるとき、キャッシュ内のオペコード コードを直接見つけて、中間ステップを必要とせずに最後のステップを直接実行します。

よりよく知られているものは、XCache、Turck MM Cache、PHP Accelerator などです。

http://www.bkjia.com/PHPjc/328140.html
www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/328140.html

技術記事

フルページ静的キャッシュとは、ユーザーがアクセスすると、PHP サーバーの解析プロセスを経ずに、すべてのページが HTML 静的ページとして生成されることを意味します。このままでは...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。