PHP の 9 つの主要なキャッシュ テクノロジの概要
1. フルページ静的キャッシュ
つまり、すべてのページが HTML 静的ページに生成され、ユーザーがアクセスすると、そこから離れることなく静的ページに直接アクセスされます。 .PHP サーバーの解析プロセス。この方法は、dedecms などの CMS システムでより一般的です。
一般的な実装方法は、出力キャッシュを使用することです。
<code><span class="typ">Ob_start<span class="pun">()<span class="pln"><span class="pun">******要运行的代码*******<span class="pln">$content <span class="pun">=<span class="pln"> <span class="typ">Ob_get_contents<span class="pun">();<span class="pln"><span class="pun">****将缓存内容写入<span class="pln">html<span class="pun">文件*****<span class="pln"><span class="typ">Ob_end_clean<span class="pun">();</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></code>
2. ページ部分キャッシュ
この方法では、ページの頻繁に変更されない部分は静的にキャッシュされますが、頻繁に変更されるブロックはキャッシュされず、最終的にはまとめられて表示されます。これは、ob_get_contents に似た方法、または ESI のようなものを使用して実現できます。この戦略は、動的ページの比較的静的なフラグメント部分をキャッシュするために使用されます (ESI テクノロジ、Baidu を参照してください。ここでは詳しく説明しません)。
この方法は、モールの商品ページなどに使用できます。
3. データのキャッシュ
名前が示すように、データをキャッシュする方法です。 、モール内で商品 ID を使用して特定の商品情報を要求した場合、店舗情報、商品情報などのデータを PHP ファイルにキャッシュして、一意の識別子を作成できます。誰かがこの商品を閲覧したいとき、まずデータベースに問い合わせずにこのファイル内の情報を直接調整します。実際、キャッシュファイルにキャッシュされているのは
Ecmall モールのシステムです。 used;
4. クエリ キャッシュ
実際、これはクエリ ステートメントに従ってファイルにキャッシュするというデータ キャッシュと同じ考え方です。次回同じクエリが発生したときは、データベースをチェックする代わりに、このファイルからデータを直接取得します。ただし、ここでのキャッシュ ファイル名は、クエリ ステートメントに基づいて一意に識別する必要がある場合があります。時間変更に基づくキャッシュ
実際には、これは実際のキャッシュ方法ではありません。上記のキャッシュ テクノロジ 2、3、および 4 は通常、時間変更の判断を使用します。つまり、有効なキャッシュ ファイル時間を設定する必要があります。この有効時間内であれば、同じアクセスで最初にキャッシュ ファイルの内容が取得されますが、設定されたキャッシュ時間を超えると、データベースからデータを再度取得する必要があり、たとえば次のようになります。ホームページは 2 時間ごとに更新されるように設定されています。
5. コンテンツの変更に応じてキャッシュします。
これは、独立したキャッシュ テクノロジではなく、組み合わせて使用する必要があります。データベースの内容が変更されると、すぐに更新されます。 キャッシュ ファイル
たとえば、交通量が多く、商品数が多いショッピング モールでは、商品テーブルが比較的大きくなる必要があり、このテーブルにかかる負担は大きくなります。また、商品表示ページをキャッシュできます。
販売者がバックグラウンドで商品情報を変更すると、購入者がアクセスすると同時にキャッシュ ファイルが更新されます。製品情報を取得する場合、実際には静的ページにアクセスしているため、データベースにアクセスする必要はありません。
想像してみてください。製品ページがキャッシュされていない場合、製品にアクセスするたびにデータベースを確認する必要があります。 100,000 人が製品をオンラインで閲覧すると、サーバーに大きな負荷がかかります。
6. メモリ キャッシュ
これに関して、最初に思い浮かぶのは Memcached です。高性能の分散メモリ キャッシュ サーバー。 一般的な使用目的は、データベース クエリ結果をキャッシュすることでデータベース アクセスの数を減らし、動的 Web アプリケーションの速度とスケーラビリティを向上させることです。
システム メモリにキャッシュする必要がある情報をキャッシュします。情報を取得する必要がある場合、より一般的に使用される方法はキー -> 値です。
7. Apache キャッシュ モジュール<code><span class="pun"><?<span class="pln">php $memcachehost <span class="pun">=<span class="pln"> <span class="str">'192.168.6.191'<span class="pun">;<span class="pln"> $memcacheport <span class="pun">=<span class="pln"> <span class="lit">11211<span class="pun">;<span class="pln"> $memcachelife <span class="pun">=<span class="pln"> <span class="lit">60<span class="pun">;<span class="pln"> $memcache <span class="pun">=<span class="pln"> <span class="kwd">new<span class="pln"> <span class="typ">Memcache<span class="pun">;<span class="pln"> $memcache<span class="pun">-><span class="pln">connect<span class="pun">(<span class="pln">$memcachehost<span class="pun">,<span class="pln">$memcacheport<span class="pun">)<span class="pln"> <span class="kwd">or<span class="pln"> <span class="kwd">die<span class="pln"> <span class="pun">(<span class="str">"Could not connect"<span class="pun">);<span class="pln"> $memcache<span class="pun">-><span class="kwd">set<span class="pun">(<span class="str">'key'<span class="pun">,<span class="str">'缓存的内容'<span class="pun">);<span class="pln"> $get <span class="pun">=<span class="pln"> $memcache<span class="pun">-><span class="kwd">get<span class="pun">(<span class="pln">$key<span class="pun">);<span class="pln"> <span class="com">//获取信息<span class="pln"><span class="pun">?></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></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></code>
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 で設定する必要があります:
9. オペコード キャッシュ<code><span class="pun">[<span class="pln">apc<span class="pun">]<span class="pln"> extension<span class="pun">=<span class="pln">php_apc<span class="pun">.<span class="pln">dll apc<span class="pun">.<span class="pln">rfc1867 <span class="pun">=<span class="pln"> on upload_max_filesize <span class="pun">=<span class="pln"> <span class="lit">100M<span class="pln"> post_max_size <span class="pun">=<span class="pln"> <span class="lit">100M<span class="pln"> apc<span class="pun">.<span class="pln">max_file_size <span class="pun">=<span class="pln"> <span class="lit">200M<span class="pln"> upload_max_filesize <span class="pun">=<span class="pln"> <span class="lit">1000M<span class="pln"> post_max_size <span class="pun">=<span class="pln"> <span class="lit">1000M<span class="pln"> max_execution_time <span class="pun">=<span class="pln"> <span class="lit">600<span class="pln"> <span class="pun">;<span class="pln"> <span class="pun">每个<span class="pln">PHP<span class="pun">页面运行的最大时间值(秒),默认<span class="lit">30<span class="pun">秒<span class="pln"> max_input_time <span class="pun">=<span class="pln"> <span class="lit">600<span class="pln"> <span class="pun">;<span class="pln"> <span class="pun">每个<span class="pln">PHP<span class="pun">页面接收数据所需的最大时间,默认<span class="lit">60<span class="pln"> memory_limit <span class="pun">=<span class="pln"> <span class="lit">128M<span class="pln"> <span class="pun">;<span class="pln"> <span class="pun">每个<span class="pln">PHP<span class="pun">页面所吃掉的最大内存,默认<span class="lit">8M</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></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>
実行プロセスは次の図に示すことができます。
まず、PHP コードがトークンに解析され、次にオペコード コードにコンパイルされ、最後にオペコード コードが実行されて結果が返されます。同じ PHP ファイルの場合、初めて実行するときにオペコード コードをキャッシュすることができ、次回このページを実行するときに、キャッシュされたオペコード コードを直接見つけて、中間ステップを必要とせずに最後のステップを直接実行します。
よりよく知られているものは、XCache、Turck MM Cache、PHP Accelerator などです。
多くのインターネット エリート、テクニカル ディレクター、アーキテクト、プロジェクト マネージャーが集まる万能プログラマー コミュニケーション QQ グループ 290551701 は、オープンソース テクノロジーの研究者、業界関係者、専門家、初心者を歓迎します。 IT業界で働く皆さん!

まだ人気があるのは、使いやすさ、柔軟性、強力なエコシステムです。 1)使いやすさとシンプルな構文により、初心者にとって最初の選択肢になります。 2)Web開発、HTTP要求とデータベースとの優れた相互作用と密接に統合されています。 3)巨大なエコシステムは、豊富なツールとライブラリを提供します。 4)アクティブなコミュニティとオープンソースの性質は、それらを新しいニーズとテクノロジーの傾向に適応させます。

PHPとPythonはどちらも、Web開発、データ処理、自動化タスクで広く使用されている高レベルのプログラミング言語です。 1.PHPは、ダイナミックウェブサイトとコンテンツ管理システムの構築によく使用されますが、PythonはWebフレームワークとデータサイエンスの構築に使用されることがよくあります。 2.PHPはエコーを使用してコンテンツを出力し、Pythonは印刷を使用します。 3.両方ともオブジェクト指向プログラミングをサポートしますが、構文とキーワードは異なります。 4。PHPは弱いタイプの変換をサポートしますが、Pythonはより厳しくなります。 5. PHPパフォーマンスの最適化には、Opcacheおよび非同期プログラミングの使用が含まれますが、PythonはCprofileおよび非同期プログラミングを使用します。

PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

PHPは1994年に発信され、Rasmuslerdorfによって開発されました。もともとはウェブサイトの訪問者を追跡するために使用され、サーバー側のスクリプト言語に徐々に進化し、Web開発で広く使用されていました。 Pythonは、1980年代後半にGuidovan Rossumによって開発され、1991年に最初にリリースされました。コードの読みやすさとシンプルさを強調し、科学的コンピューティング、データ分析、その他の分野に適しています。

PHPはWeb開発と迅速なプロトタイピングに適しており、Pythonはデータサイエンスと機械学習に適しています。 1.PHPは、単純な構文と迅速な開発に適した動的なWeb開発に使用されます。 2。Pythonには簡潔な構文があり、複数のフィールドに適しており、強力なライブラリエコシステムがあります。

PHPは、多数のWebサイトとアプリケーションをサポートし、フレームワークを通じて開発ニーズに適応するため、近代化プロセスで依然として重要です。 1.PHP7はパフォーマンスを向上させ、新機能を紹介します。 2。Laravel、Symfony、Codeigniterなどの最新のフレームワークは、開発を簡素化し、コードの品質を向上させます。 3.パフォーマンスの最適化とベストプラクティスは、アプリケーションの効率をさらに改善します。

phphassiblasifly-impactedwebdevevermentandsbeyondit.1)itpowersmajorplatformslikewordpratsandexcelsindatabase interactions.2)php'sadaptableability allowsitale forlargeapplicationsusingframeworkslikelavel.3)

PHPタイプは、コードの品質と読みやすさを向上させるためのプロンプトがあります。 1)スカラータイプのヒント:php7.0であるため、基本データ型は、int、floatなどの関数パラメーターで指定できます。 3)ユニオンタイプのプロンプト:PHP8.0であるため、関数パラメーターまたは戻り値で複数のタイプを指定することができます。 4)Nullable Typeプロンプト:null値を含めることができ、null値を返す可能性のある機能を処理できます。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

Dreamweaver Mac版
ビジュアル Web 開発ツール

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません
