はじめに
その名前が示すように、ファイル キャッシュをメモリ キャッシュに変換することは、ファイルに格納されているデータをメモリに転送し、ディスク操作をメモリ操作に変換することです。これにより、データ アクセス速度が大幅に向上し、キャッシュされたキャッシュの分散展開が可能になります。データ。ファイル キャッシュとメモリ キャッシュの概要については、「用語集」セクションを参照してください。
原理
ファイル キャッシュをメモリ キャッシュに変換する原理は、ファイル キャッシュ内のデータをメモリに転送して、データのグローバル共有を実現し、ファイルとデータの頻繁なロードの問題を解決することです。メモリの実装には Memcache ツールが使用されます。キャッシュデータ。
実装の仕組みと手順
1. メモリキャッシュにファイルが存在するか確認し、存在しない場合はキャッシュファイルを読み込みます
2. キャッシュファイルを読み込み、キャッシュファイルにデータを書き込みます。キャッシュ ファイルをメモリに格納します
4. メモリからデータを取得し、データをグローバル変数として登録します
5. データを返します
このプロセスでは、主に 2 つの問題に対処する必要があります。ファイル キャッシュをメモリ キャッシュに変換する場合は、ファイルがメモリ キャッシュ メカニズムを実装するかどうかを実装するために使用される、統合されたファイル キャッシュ パス スケジューリング サービスが必要です。 2 番目の質問は、グローバル変数を登録する方法です。データがファイルから取得されるかメモリから取得されるかに関係なく、データが普遍的である必要がある場合は、グローバル変数を登録するメカニズムが必要です。
ファイル キャッシュ パス スケジューリング サービスの問題は実装が比較的簡単ですが、現在のファイル キャッシュ ロード パス方法を再構築する必要があるため、コストが比較的高くなります。
通常のファイルキャッシュロードメソッド
require 'cache/config.php';
ファイルキャッシュパススケジュールメソッド
require getCachePath('cache/config.php');
上記の例のgetCachePath()関数はファイルキャッシュパススケジュールを実装します。サービス 。
2 番目は、グローバル変数の登録の問題です。データのグローバルな汎用性を考慮する必要があるため、調査の結果、グローバル変数を登録するには次の 2 つの方法があることがわかりました
1。
コードをコピー コードは次のとおりです:
foreach ( $vars as $k => $v ) {$GLOBALS[$k] = $v
}
利点:キーが重複している場合、最新の値が正常であることが保証されます