1. キャッシュの原則:
IE: リソース ファイルをローカルに保存します
Smarty: キャッシュをサーバーに保存します
compile2. キャッシュテクノロジーを使用する理由
1. ウェブサイトのアクセス速度を改善します
2. Webサーバーの負荷を軽減します
3. データベースサーバーの負荷を軽減します
3. キャッシュを設定する
1. Smarty では、主に次のコード行によってキャッシュを設定します。
l $smarty->setCacheDir($cache_dir)キャッシュディレクトリを設定する
今後生成されるキャッシュ ファイルは自動的にこのディレクトリに配置されます
l $smarty->caching=true
キャッシュメカニズムを有効にする
キャッシュテクノロジーを使用している限り、表示メソッドを呼び出す前にキャッシュメカニズムを有効にする必要があります(キャッシュをクリアするために有効にしないでください)
l $smarty->cach_lifetime=3600
キャッシュの有効期間(ライフサイクル)を設定します、
デフォルトは 3600 秒 (1 時間) ですが、適切に調整できます
2. コード部分:
プログラムコード:
テンプレートコード:
上記のプログラムを実行すると、現在のディレクトリに 2 つのフォルダーが自動的に生成されたことがわかりました:
ここで、templates_c と cache はそれぞれコンパイル ディレクトリとキャッシュ ディレクトリを表しており、これらは自動的に作成されます
ただし、自動作成機能にあまり依存しないことを強くお勧めします。オペレーティング システムによっては、デフォルトで作成権限がないため、実行する前にこれら 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()
すべてのテンプレートのキャッシュ ファイルをクリアします
商品情報が変更された場合、商品のキャッシュファイルを再生成する必要があります
通常、データを変更するには、キャッシュ ファイルを再生成する必要があります (元のキャッシュ ファイルは削除する必要があります)。
上記は php-Smarty-cache 1 (25) を関連コンテンツも含めて紹介しています。PHP チュートリアルに興味のある友人に役立つことを願っています。