序文:
MooPHP の開発中、より効率的なキャッシュ方法を見つけるために、最も一般的に使用される 2 つのキャッシュ方法がテストされました。
PHP での一般的なキャッシュ方法:
1 つ目は、キャッシュする必要があるデータを処理し、PHP で直接実行できるファイルを形成することです。データをキャッシュする必要がある場合は、include で導入して使用します。
次に、serialize 関数を使用して必要なデータをシリアル化し、ファイルに直接保存します。キャッシュされたデータを使用する必要がある場合は、ファイルの内容を逆シリアル化して読み取り、必要な変数にコピーして使用します。
テスト結果:
テストを通じて、シリアル化を介してデータをキャッシュする 2 番目の方法の方が効率的であることがわかりました。 (データは省略し、最後にダウンロード用の記事アドレスを記載していますので、ご自身でテストしていただけます)
理由分析:
インクルードモードでキャッシュを読み取る場合、PHP はいくつかのプロセスを実行する必要があります。
1. ファイルを読み込みます
2. 含まれているファイルを解析します
3. 変数に値を代入し
、serialize を使用してキャッシュを読み取る場合の実行:
1.データの読み取り
2. データコンテンツを逆シリアル化する
3. 変数に値を代入する
上記の比較から、PHP ファイル内の配列の解析に必要な時間が、配列のシリアル化を解除するのに必要な時間を超えている可能性があります。興味がある場合は、「PHP ファイルシステム関連関数と include require のパフォーマンス効率に関する調査」を参照してください: http://www.ccvita.com/163.html
テスト ファイル コード:
ダウンロードアドレス: MooPHP-CacheTest.zip
元のアドレス: http://www.ccvita.com/311.html新しい研究結果はここで更新されます。
CacheTest_IncludeFile.php
CacheTest_SerializeFile.php の
概要分析:
1 つ目は、キャッシュを含めることの利点です。データの機密性とセキュリティが向上し、キャッシュされたコンテンツが外部に発見されなくなります。
短所: 比較的遅い。
目的: Web システム設定や MySQL 情報など、システム外に知られることが禁止されているデータを保存します。 2 番目に、シリアル化キャッシュ方式の利点は高速であることです。
欠点: キャッシュ システム ファイル パスが公開されると、キャッシュの内容が漏洩します。
目的: このメソッドは、外部から取得したデータを気にしない場合に、最新の記事や関連記事などをキャッシュする場合に使用できます。
述べる:
ea や apc などの PHP メモリ キャッシュがインストールされている場合、インクルードを使用してキャッシュを読み取る最初の方法は、キャッシュをシリアル化する 2 番目の方法よりも高速になります。したがって、MooPHP フレームワークでは、機密でない情報は 2 番目の方法でキャッシュされ、機密情報は 1 番目の方法でキャッシュされます。 MooPHP の概要については、「MooPHP フレームワークの紹介」(アドレス: http://www.ccvita.com/295.html ) を参照してください。