PHP の 9 つの主要なキャッシュ テクノロジの概要
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業界で働く皆さん!

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

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

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック











PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

あなたが経験豊富な PHP 開発者であれば、すでにそこにいて、すでにそれを行っていると感じているかもしれません。あなたは、運用を達成するために、かなりの数のアプリケーションを開発し、数百万行のコードをデバッグし、大量のスクリプトを微調整してきました。

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用してPHPの特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。 母音とは何ですか? 母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。 a、e、i、o、u 例1 入力:string = "tutorialspoint" 出力:6 説明する 文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

PHPの魔法の方法は何ですか? PHPの魔法の方法には次のものが含まれます。1。\ _ \ _コンストラクト、オブジェクトの初期化に使用されます。 2。\ _ \ _リソースのクリーンアップに使用される破壊。 3。\ _ \ _呼び出し、存在しないメソッド呼び出しを処理します。 4。\ _ \ _ get、dynamic属性アクセスを実装します。 5。\ _ \ _セット、動的属性設定を実装します。これらの方法は、特定の状況で自動的に呼び出され、コードの柔軟性と効率を向上させます。
