ホームページ バックエンド開発 PHPチュートリアル PEAR を使用して PHP プログラムをバッファーする 1_PHP チュートリアル

PEAR を使用して PHP プログラムをバッファーする 1_PHP チュートリアル

Jul 13, 2016 pm 05:28 PM
pear php 1つ 世界 動的 はい 人気のある プログラム バッファ 使用 ページ

バッファリングは PHP の世界では注目のトピックです。これは、PHP によって生成される動的ページは、リクエストの結果が同じであるかどうかに関係なく、ユーザーがリクエストするたびに再計算する必要があるためです。このような過負荷は、トラフィックの多い Web サイトでは確かに耐えられないでしょう。幸いなことに、Web の結果はスクリプトを再実行してコンパイルすることなくキャッシュできます。ZendCache やオープン ソースの Alternate PHP Cache などの商用製品は、PHP スクリプトをバイト コードにコンパイルしてキャッシュする方法を提供します。 PEAR のバッファリング パッケージは、動的コンテンツ、データベース クエリ、および PHP 関数呼び出しをバッファリングするためのフレームワークを提供します。 Perl に CPAN があり、TeX に CTAN があるのと同じように、PHP にもクラス、ライブラリ、モジュールを保存するための独自の中央リソース ライブラリがあります。このライブラリは PEAR (PHP Extension and Add-On Repository) と呼ばれます。 この記事では、PEAR 環境がインストールされていることを前提としています。インストールされていない場合は、PHP Web サイトからダウンロードできます。 PEAR のバッファ パッケージには、全体的なバッファ クラスといくつかの特殊なサブクラスが含まれています。バッファ クラスはコンテナ クラスを使用して、バッファされたデータを保存および管理します。 現在 PEAR バッファに含まれているコンテナとそれぞれのパラメータは次のとおりです。 ファイル -- ファイル コンテナはファイル システムにバッファされたデータを保存し、最も高速なコンテナです。 cache_dir – これはコンテナがファイルを保存するディレクトリです。 filename_prefix – キャッシュ ファイルのプレフィックス (例: "cache_")。 shm -- shm コンテナは、バッファリングされたデータを共有メモリに配置します。ベンチマークでは、現在の実装では、このコンテナがファイル コンテナよりも遅いことが示されています。 shm_key -- 共有メモリで使用されるキー。 shm_perm – 共有メモリ データ セグメントを使用する許可。 shm_size -- 割り当てられた共有メモリのサイズ。 sem_key – セマフォのキー値。 sem_perm – セマフォの権限。 db – PEAR のデータベース抽象化レイヤー。 dsn – データベース接続の DSN。 PEAR の DB ドキュメントを参照してください。 cache_table – テーブルの名前。 phplib – phplib コンテナはデータベース抽象化レイヤーを使用してバッファを保存します。 db_class db_file db_path local_file local_path ext/dbx -- PHP のデータベース抽象化レイヤー拡張機能。データベースにバッファーを保存したい場合は、このコンテナーを使用できます。 module host db username passwd Cache_tablepersistent PEAR キャッシュを使用することで得られるパフォーマンスの向上は、選択したバッファ コンテナによって異なります。たとえば、データベースの結果をデータベース キャッシュに再度保存することは意味がありません。 PEAR Cache の関数バッファ モジュールは、PHP の組み込み関数であっても、ユーザー定義関数であっても、任意の関数またはメソッドの結果をバッファリングできます。デフォルトでファイル コンテナを使用し、バッファリングされたデータを function_cache というディレクトリに置きます。 Cache_Function クラスのコンストラクターには、3 つのオプションのパラメーターを指定できます。 $container: バッファー コンテナーの名前。 $container_options: バッファコンテナの配列パラメータ。 $expires: バッファ オブジェクトの有効期限が切れる時間 (秒単位)。 バッファリングは、通常の関数呼び出しで Cache_Function クラスの call() メソッドが使用されるときにトリガーできます。 call() の呼び出しは簡単です。1 つのパラメータは関数の名前、次に関数のパラメータ、2 番目のパラメータは呼び出される関数の最初のパラメータというようになります。例を見てみましょう。 例 1:バッファ関数とメソッド呼び出し // PEAR キャッシュの関数バッファを呼び出します。


"; } } class bar { function foobar($object) { echo '$'.$object.'->foobar('.$object.') '; } } $bar = new bar; function foobar() { echo 'foobar()'; } // Cache_Function オブジェクトを取得 $cache = new Cache_Function() // クラス foo (foo::bar()) の静的関数 bar() をキャッシュします $cache->call('. foo::bar', 'test'); // $bar->foobar() $cache->call('bar->foobar', 'bar'); > 以下では、出力をバッファリングするために Cache_Output を使用します。 例 2: スクリプトの出力をバッファリングする // PEAR キャッシュの出力バッファをロードします '.') ); // バッファリングされるページのマークを計算します。ページのバッファリングは、 // URL、HTTP GET および POST 変数、および Cookie に依存します。 $cache_id = $cache->generateID(array('url' => $REQUEST_URI, 'post' => $HTTP_POST_VARS, 'cookies' = > $HTTP_COOKIE_VARS) ); // クエリ バッファ if ($content = $cache->start($cache_id)) { // バッファ ヒット echo $content; } // バッファが失われました // -- ここにコンテンツを挿入しますコードを生成する -- // Put ページはキャッシュに保存されます echo $cache->end() ?> Cache_Output クラスを使用すると、動的データベース駆動型 Web サイト アプリケーションを静的 Web アプリケーションに簡単に変換できます。 HTML コンテンツの圧縮に GZIP が使用されることで、インターネットにアクセスするためにモデムを使用するユーザーも Cache_Output クラスの機能を拡張できます。 GZIP 圧縮された HTML コンテンツをバッファリングすることで、圧縮時間を節約します...

www.bkjia.com本当http://www.bkjia.com/PHPjc/531732.html技術記事バッファリングは PHP の世界でホットなトピックです。PHP によって生成される動的ページは、リクエストの結果が同じであるかどうかに関係なく、ユーザーがリクエストするたびに再計算する必要があるからです。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

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

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

CakePHP のロギング CakePHP のロギング Sep 10, 2024 pm 05:26 PM

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

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

CakePHP クイックガイド CakePHP クイックガイド Sep 10, 2024 pm 05:27 PM

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。

See all articles