ホームページ  >  記事  >  バックエンド開発  >  PHP チュートリアル: PHP の 9 つの主要なキャッシュ テクノロジの概要

PHP チュートリアル: PHP の 9 つの主要なキャッシュ テクノロジの概要

黄舟
黄舟オリジナル
2017-02-07 16:43:351296ブラウズ

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

1. 全ページ静的キャッシュ

、つまり、すべてのページが HTML 静的ページに生成され、ユーザーは静的ページにアクセスします。ページには、PHP サーバーの解析プロセスを経由せずに直接アクセスされます。この方法は、dedecms などの CMS システムでより一般的です。一般的な実装方法は、出力キャッシュを使用することです。Ob_start()******実行されるコード************$content = Ob_get_con

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

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


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

実際、これはデータのキャッシュと同じです。1 つのアイデアは、クエリによって取得されたデータをファイルにキャッシュすることです。データベースをチェックせずにこのファイルから直接取得することもできますが、キャッシュされたファイル名は、一意の識別子を確立するためにクエリ ステートメントに基づく必要がある場合があります。実際には、これは実際のキャッシュ方法ではありません。上記のキャッシュ テクノロジ 2、3、および 4 では、通常、キャッシュされたファイルの有効時間を設定する必要があります。この有効時間内で、同じアクセスがキャッシュされたファイルの内容を取得します。ただし、設定されたキャッシュ時間を超えると、データベースと最新のキャッシュ ファイルからデータを取得する必要があります。たとえば、コンテンツの変更に応じてモールのホームページが更新されるように設定します。


これは独立したキャッシュ テクノロジではなく、組み合わせて使用​​する必要があります。つまり、データベースのコンテンツが変更されると、すぐにキャッシュ ファイルが更新されます。たとえば、トラフィックが多いショッピング モールなどです。多くの商品があるため、商品テーブルは比較的大きくなければならず、このテーブルへの負担も大きくなります。

販売者がバックグラウンドでこれを変更する場合は、商品情報を入力するときに「保存」をクリックします。同時にキャッシュ ファイルも更新します。その後、購入者が商品情報にアクセスするとき、実際にはデータベースにアクセスすることなく静的ページにアクセスします。商品ページがキャッシュされていない場合を想像してください。製品にアクセスするたびに、データベースをチェックする必要があります。100,000 人がその製品をオンラインで閲覧すると、サーバーへの負荷が大きくなります


これに関しては、まず最初に考えられることがあります。 Memcached は、高性能の分散メモリ キャッシュ サーバーだと考えてください。 一般的な使用目的は、データベース クエリ結果をキャッシュすることでデータベース アクセスの数を減らし、動的 ​​Web アプリケーションの速度とスケーラビリティを向上させることです。
キャッシュする必要がある情報をシステム メモリにキャッシュします。情報を取得する必要がある場合、より一般的に使用される方法は key–>value メソッドです。

$memcachehost = '192.168.6.191';
    $memcacheport = 11211;
    $memcachelife = 60;
    $memcache = new Memcache;
    $memcache->connect($memcachehost,$memcacheport) or die ("Could not connect");
    $memcache->set('key','缓存的内容');
    $get = $memcache->get($key);       //获取信息?>

7. Apache キャッシュ Apache モジュールをインストールした後は、キャッシュすることはできません。外部キャッシュやSquidサーバーでWebアクセラレーションが必要な場合は、当然ながら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]

   extension=php_apc.dll 
    apc.rfc1867 = on 
    upload_max_filesize = 100M 
    post_max_size = 100M 
    apc.max_file_size = 200M 
    upload_max_filesize = 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 ファイルの場合、次回このページを実行するときに、オペコード コードがキャッシュされます。キャッシュ内のオペコード コードを直接実行し、最後の 1 ステップを直接実行します。中間ステップは不要です。よりよく知られているものは、XCache、Turck MM Cache、PHP Accelerator などです。 tents();****キャッシュされたコンテンツを HTML ファイルに書き込みます*****Ob_end_clean();



上記は PHP チュートリアルの内容です: PHP の 9 つの主要なキャッシュ テクノロジの概要 詳細については、こちらをご覧ください。関連コンテンツについては、PHP Chinese Net (www.php.cn) に注目してください。



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。