PHP プログラムの高速化探索キャッシュ出力_PHP チュートリアル
コンテンツキャッシュ出力 PEAR キャッシュ
次に、より一般的に使用されるキャッシュ テクノロジの調査を開始します。これがこの記事の焦点でもあります。まず、PEAR のキャッシュ パッケージを使用します。 PEAR は、ファイル、データベース、またはメモリにコンテンツをキャッシュできます。ファイルを例に挙げてみましょう。
以下はキャッシュなしのPHPアプレットです:
pear_content_cache1.php
<?php
echo "これがコンテンツです。
";
echo "現在時刻は" . date('M-d-Y H:i:s A', time()) .
?>
上記のプログラムは非常に単純ですが、これにキャッシュを追加します。
pear_content_cache2.php
<?php
require_once 'キャッシュ/Output.php';
//書き込み可能でなければならないキャッシュ ディレクトリを設定します
// nocache 変数が空の場合、キャッシュ内のコンテンツを使用します
//最新のコンテンツを取得したい場合は、それを nocache 変数に割り当てる必要があります
{
// 一意のキャッシュ識別子を作成します
// リクエスト + Cookie 情報
$cache_id = $cache->generateID(array('url' => $_REQUEST,'post' =>$_POST,'cookies' => $HTTP_COOKIE_VARS));
}
それ以外は
{
//最新のコンテンツを取得したい場合は、ID は空です
$cache_id = null;
}
//キャッシュIDに対応するキャッシュコンテンツが利用可能か確認します
if ($content = $cache->start($cache_id))
{
//キャッシュはすでに存在するので、直接出力してスクリプトを終了します
//コンテンツがキャッシュに存在しないため、新しいコンテンツを生成してキャッシュに書き込みます
echo "これがコンテンツです。
";
echo "現在時刻は" . date('M-d-Y H:i:s A', time()) .
// コンテンツをキャッシュに書き込みます
echo $cache->end();
?>
これら 2 つのファイルをそれぞれ更新すると、pear_content_cache1.php の「現在時刻は」という行の時刻が更新によって変化しますが、pear_content_cache2.php のこの行は変化しないことがわかります。これは、pear_content_cache2.php がキャッシュを使用して、ユーザーが要求したコンテンツを静的ファイルに保存するためです。ユーザーが再度リクエストすると、プログラムがコンテンツを動的に生成する必要がなく、ファイルから直接出力されます。
pear_content_cache2.phpの場合、ユーザーがキャッシュ内の古い情報ではなく最新の情報を読みたい場合。その後、 http://…/pear_content_cache2.php?nocache=1 を使用してアクセスすると、キャッシュ機能が無効になります。更新すると、それに応じて時間が変更されることを確認します。
PEAR コンテンツ キャッシュ クラスの使用法を要約すると:
1. PEAR パッケージを含める場合は、必ず正しいパスを設定してください。
2. Output.php にキャッシュ クラスが含まれます
require_once 'キャッシュ/Output.php';
3.キャッシュディレクトリを設定します
$cacheDir = './pear_cache';
このディレクトリが書き込み可能であることを確認します。キャッシュ データは、このディレクトリのサブディレクトリに書き込まれます。
4.出力キャッシュオブジェクトを作成します
$cache = new Cache_Output('file',array('cache_dir' => $cacheDir));
最初のパラメータは「ファイル」ベースのキャッシュを使用することを示し、2 番目のパラメータはキャッシュ ディレクトリに関連付けられた配列です。
5.一意のキャッシュ ID を生成します
$cache_id = $cache->generateID(array('url' => $_REQUEST,'post' =>$_POST,'cookies' => $HTTP_COOKIE_VARS));
ここでの $cache オブジェクトのgenerateID() メソッドは、このリクエストを一意に識別し、他のリクエストと区別するための情報の配列 (URL、HTTP POST データ、および HTTP Cookie) を提供します。
6.キャッシュIDに対応するキャッシュデータが既に存在するかどうかの論理判定文を追加し、存在する場合はデータを取得してスクリプトを終了します。
if ($content = $cache->start($cache_id))
{$content をエコーします。 終了(); }
7. 上記の論理ステートメントの後にコンテンツを生成するコードを配置し、キャッシュ オブジェクトの使用を終了します。
echo $cache->end();
関数キャッシュ出力PEARキャッシュ
PEARは出力内容をキャッシュするだけでなく、特定の関数を呼び出した結果をキャッシュすることもできます。これは非常に興味深い機能です。プログラムで特定の関数が頻繁に使用され、呼び出しの結果が同じである場合、特にこの関数の実行が遅い場合には、試してみることをお勧めします。
次に、非常にゆっくりと実行される関数、slowFunction() へのバッファリングされた呼び出しを実装します。
<?php
$cacheDir = './pear_cache/'; $cache = 新しい Cache_Function('file',array('cache_dir' => $cacheDir)); $arr = array('リンゴ', '梨', 'スイカ'); $cache->call('slowFunction', $arr); echo '
';
$arr = array('リンゴ', '梨', 'スイカ');
スロー関数($arr);
{
echo "実行が非常に遅い関数:(
";
echo "現在の時刻は " . date('M-d-Y H:i:s A', time()' です。
foreach ($arr as $fruit)
{
echo "$フルーツを食べました
";
}
)
?>
例のスクリプト実行結果は以下の通りです:
現在の時刻は Jul-28-2004 17:15:57 PM です
リンゴを食べました
梨を食べました
スイカを食べました
実行が非常に遅い関数:(
現在の時刻は 2004 年 7 月 28 日 17:17:55 PM です
梨を食べました
スイカを食べました
コードでは、Cache/Function.phpクラスを使用して関数バッファリング機能を実行しています。 $cache 変数は、ファイルベースの関数キャッシュを使用する Cache_Function オブジェクトで、$cacheDir ディレクトリに保存されます。関数呼び出しをキャッシュするには、Cache_Function オブジェクト $cache の call() メソッドを次のように使用します: $cache->call(‘slowFunction’, $arr);
http://www.bkjia.com/PHPjc/372079.html

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

PHPでは、クローンキーワードを使用してオブジェクトのコピーを作成し、\ _ \ _クローンマジックメソッドを使用してクローン動作をカスタマイズします。 1.クローンキーワードを使用して浅いコピーを作成し、オブジェクトのプロパティをクローン化しますが、オブジェクトのプロパティはクローニングしません。 2。\ _ \ _クローン法は、浅いコピーの問題を避けるために、ネストされたオブジェクトを深くコピーできます。 3.クローニングにおける円形の参照とパフォーマンスの問題を避けるために注意し、クローニング操作を最適化して効率を向上させます。

PHPはWeb開発およびコンテンツ管理システムに適しており、Pythonはデータサイエンス、機械学習、自動化スクリプトに適しています。 1.PHPは、高速でスケーラブルなWebサイトとアプリケーションの構築においてうまく機能し、WordPressなどのCMSで一般的に使用されます。 2。Pythonは、NumpyやTensorflowなどの豊富なライブラリを使用して、データサイエンスと機械学習の分野で驚くほどパフォーマンスを発揮しています。

HTTPキャッシュヘッダーの主要なプレーヤーには、キャッシュコントロール、ETAG、およびラスト修飾が含まれます。 1.Cache-Controlは、キャッシュポリシーを制御するために使用されます。例:キャッシュコントロール:Max-Age = 3600、public。 2。ETAGは、一意の識別子を介してリソースの変更を検証します。例:ETAG: "686897696A7C876B7E"。 3. Last-Modifiedは、リソースの最後の変更時間を示しています。

PHPでは、Password_hashとpassword_verify関数を使用して安全なパスワードハッシュを実装する必要があり、MD5またはSHA1を使用しないでください。 1)password_hashセキュリティを強化するために、塩値を含むハッシュを生成します。 2)password_verifyハッシュ値を比較して、パスワードを確認し、セキュリティを確保します。 3)MD5とSHA1は脆弱であり、塩の値が不足しており、最新のパスワードセキュリティには適していません。

PHPは、動的なWeb開発およびサーバー側のアプリケーションに使用されるサーバー側のスクリプト言語です。 1.PHPは、編集を必要とせず、迅速な発展に適した解釈言語です。 2。PHPコードはHTMLに組み込まれているため、Webページの開発が簡単になりました。 3。PHPプロセスサーバー側のロジック、HTML出力を生成し、ユーザーの相互作用とデータ処理をサポートします。 4。PHPは、データベースと対話し、プロセスフォームの送信、サーバー側のタスクを実行できます。

PHPは過去数十年にわたってネットワークを形成しており、Web開発において重要な役割を果たし続けます。 1)PHPは1994年に発信され、MySQLとのシームレスな統合により、開発者にとって最初の選択肢となっています。 2)コア関数には、動的なコンテンツの生成とデータベースとの統合が含まれ、ウェブサイトをリアルタイムで更新し、パーソナライズされた方法で表示できるようにします。 3)PHPの幅広いアプリケーションとエコシステムは、長期的な影響を促進していますが、バージョンの更新とセキュリティの課題にも直面しています。 4)PHP7のリリースなど、近年のパフォーマンスの改善により、現代の言語と競合できるようになりました。 5)将来的には、PHPはコンテナ化やマイクロサービスなどの新しい課題に対処する必要がありますが、その柔軟性とアクティブなコミュニティにより適応性があります。

PHPの中心的な利点には、学習の容易さ、強力なWeb開発サポート、豊富なライブラリとフレームワーク、高性能とスケーラビリティ、クロスプラットフォームの互換性、費用対効果が含まれます。 1)初心者に適した学習と使用が簡単。 2)Webサーバーとの適切な統合および複数のデータベースをサポートします。 3)Laravelなどの強力なフレームワークを持っています。 4)最適化を通じて高性能を達成できます。 5)複数のオペレーティングシステムをサポートします。 6)開発コストを削減するためのオープンソース。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

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

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