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

PHP キャッシュ技術の概要_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-12 09:08:35953ブラウズ

PHPキャッシュ技術についてのまとめ

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

8.php APC キャッシュ拡張機能

Php には APC キャッシュ拡張機能があり、これは Windows では php_apc.dll です。まずこのモジュールをロードしてから、php.ini で設定する必要があります。

[APC]

拡張子=php_apc.dll
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

9. オペコードキャッシュ

phpの実行プロセスは次の図に示すことができることがわかります:

最初に php コードがトークンに解析され、次にオペコード コードにコンパイルされ、最後にオペコード コードが実行されて結果が返されます。そのため、同じ php ファイルに対して初めて実行します。

次回このページを実行するときに、キャッシュされたオペコード コードを直接見つけて、中間ステップを必要とせずに最後のステップを直接実行できます。

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



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

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/1053647.html技術記事 php キャッシュ技術の概要 1. フルページ静的キャッシュとは、ユーザーがアクセスすると、php サーバーにアクセスせずに、すべてのページが html 静的ページに直接アクセスされることを意味します。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。