はじめに
名前が示すように、ファイル キャッシュからメモリ キャッシュへは、ファイルに格納されているデータをメモリに転送して、ディスク操作をメモリ操作に変換することで、データ アクセスを大幅に向上させることができます。データの分散展開を高速化して実現します。ファイル キャッシュとメモリ キャッシュの概要については、「用語集」セクションを参照してください。
原理
ファイル キャッシュをメモリ キャッシュに変換する原理は、ファイル キャッシュ内のデータをメモリに転送して、データのグローバル共有を実現し、頻繁にロードされる問題を解決することです。ファイルとデータについて質問します。Memcache ツールを使用してデータをメモリにキャッシュします。
実装の仕組みと手順
1. メモリキャッシュにファイルが存在するかどうかを確認し、存在しない場合はキャッシュファイルをロードします。
3. キャッシュファイルのデータをメモリに書き込みます。
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;
利点: 最新の値が正常であることが保証されます。重複キーの場合