php—Smarty キャッシュ 1 (25)

WBOY
WBOYオリジナル
2016-06-13 12:19:20863ブラウズ

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()

すべてのテンプレートのキャッシュ ファイルをクリアします

商品情報が変更された場合、商品のキャッシュ ファイルを再生成する必要があります

通常、データを変更するには、キャッシュ ファイルを再生成する必要があります (元のキャッシュ ファイルは削除する必要があります)。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。