php—Smarty キャッシュ 1 (25)
1. キャッシュ原則:
IE: リソース ファイルをローカルに保存します
Smarty: キャッシュをサーバーに保存します
コンパイル
3. データベース サーバーの負荷を軽減します1. Smarty では、主に次のコード行を使用してキャッシュを設定します。 :l $smarty-> ;setCacheDir($cache_dir)キャッシュ ディレクトリを設定します今後生成されるキャッシュ ファイルは自動的にこのディレクトリに配置されますl $smarty->caching=trueキャッシュ メカニズムを有効にするキャッシュ テクノロジを使用する限り、表示メソッドを呼び出す前にキャッシュ メカニズムを有効にする必要があります (有効にしないでください)キャッシュをクリアします)l $smarty->cach_lifetime=3600 キャッシュの有効期間 (ライフサイクル) を設定します。デフォルトは 3600 秒 (1 秒)時間)、適切な調整を行うことができます2. コード部分: プログラム コード:
テンプレート コード:
上記のプログラムを実行すると、現在のディレクトリに 2 つのフォルダーが自動的に生成されることがわかりました: ここで、templates_c とキャッシュはそれぞれコンパイル ディレクトリとキャッシュ ディレクトリを表し、自動的に作成されますただし、一部のオペレーティング システムではデフォルトで作成権限がないため、自動作成機能に過度に依存しないことを強くお勧めします。したがって、
を実行する前に、これら 2 つのディレクトリを手動で作成することをお勧めします。 3. これら 2 つのファイルの違いを確認します:
コンパイルされたファイル:
キャッシュ ファイル:
観察により、コンパイルされたファイル内でテンプレートについて変数の値が PHP プログラムを通じて毎回動的に読み取られることがわかりました。キャッシュ ファイルでは、これら 2 つの変数の値がファイル
に直接書き込まれます。 4. キャッシュはテンプレート キャッシュを参照します
他の php プログラムを作成し、これらのプログラムに上記のテンプレートを再度表示させると、これらのプログラムは上記のプログラムによって生成されたキャッシュ ファイルのみを直接実行することがわかります
5. Smarty キャッシュの動作原理:6. 2 つの関連属性
$smarty->compile_check
デフォルト値は true で、実行のたびにチェックされます。テンプレートが変更されたかどうか。変更された場合は再度読み取られ、コンパイルされたファイルとキャッシュ ファイルが生成されます。ただし、プロジェクトがオンラインになった後は、テンプレートの変更や移動が頻繁に行われることはありません。そのため、プロジェクトがオンラインになった後は、このオプションをオフにすることをお勧めします。 false)。
$smarty->force_compile
デフォルト値は false です。つまり、実行されるたびに、キャッシュの有効期限が切れているかどうかがチェックされ、有効期限が切れていない場合はその内容がチェックされます。キャッシュ ファイルのファイルが直接使用されます。ただし、プロジェクトを開発する場合、キャッシュはプログラマのプログラムに対する最も直接的な判断と最新のデータの観察に影響を与えます。このオプションを true に設定することをお勧めします。これは、コンパイル ファイルとキャッシュ ファイルが実行されるたびに再生成されることを意味します。 4. キャッシュを確認します$smarty->isCached("tpl.tpl")テンプレートにキャッシュ ファイルがあるかどうかを確認します実際の応用:
5. キャッシュのクリアたとえば、モール システムでは、この商品の価格は1000.00、モールでセール中、30% オフ。キャッシュを使用した場合でも、商品価格は元の価格のままです。この時点で、以前のキャッシュ ファイルを削除する必要があります。
l $smarty->clearCache("tpl.tpl")
テンプレートのキャッシュ ファイルをクリアします
l $smarty->clearAllCache()すべてのテンプレートのキャッシュ ファイルをクリアします商品情報が変更された場合、商品のキャッシュ ファイルを再生成する必要があります
通常、データを変更するには、キャッシュ ファイルを再生成する必要があります (元のキャッシュ ファイルは削除する必要があります)。