ホームページ  >  記事  >  バックエンド開発  >  Smarty キャッシュ テクノロジーの概要_PHP チュートリアル

Smarty キャッシュ テクノロジーの概要_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:31:121177ブラウズ

キャッシュを適切に使用すると、Web サイトのサーバー負荷を効果的に軽減できることを誰もが知っているはずです。php Smarty は、非常にシンプルで多様なキャッシュ操作を提供します。smarty について学びましょう。オペレーション。ここでは、smarty キャッシュを有効にして使用する方法、smarty キャッシュをクリアする方法、smarty の 3 つのキャッシュ メカニズム (グローバル キャッシュ、部分キャッシュ、ローカル キャッシュ) を分析します。

1. Smarty キャッシュを有効にして使用します

smarty のキャッシュを有効にするには、smarty 設定パラメータで caching を true に設定し、cache_dir を指定するだけです。同時に、cache_lefetime パラメータを設定してキャッシュの有効期間 (秒単位) を指定します。同じページに対して複数の異なるキャッシュを生成したい場合は、次のように 2 番目のパラメーターcache_id を追加して表示または取得できます:

リーリー

この機能を使用すると、さまざまな $_GET を異なる方法でキャッシュできます。

2. Smarty キャッシュをクリアします

一般に、Smarty キャッシュをクリアするにはいくつかの方法があります:

リーリー

3. グローバルキャッシュ

グローバル キャッシュとは、Web サイト全体のすべてのページに対してキャッシュ ページを生成することです。グローバルキャッシュを設定するには、まず Smarty 設定ファイルを操作し、キャッシュを有効にし、キャッシュファイルのディレクトリを指定し、キャッシュの生存時間を設定する必要があります。設定パラメータは次のとおりです。 リーリー

次に、特定の php ページに移動して、それに対応する特定のキャッシュ ファイルの名前を設定する必要があります。php ページでは次のように記述できます。 リーリー

注意すべき点は次のとおりです:

$smarty->display('対応するテンプレートファイル名', 'キャッシュファイル名の補足部分') このメソッド。 第二引数は省略します。記述しない場合、キャッシュファイル名はテンプレートファイル名を暗号化したものになります。しかし、これには次のようなより難しい問題が発生します:

http://www.phpernote.com/article.php?id=5

http://www.phpernote.com/article.php?id=7

これら 2 つの URL は異なるコンテンツに対応していますが、生成されたキャッシュ ファイル名は記事の暗号化の結果です。これにより、ユーザーは異なるコンテンツをクエリすることになりますが、同じキャッシュ ファイルにアクセスすることになります。したがって、アクセス URL (? 以降のすべてのパラメータを含む) を暗号化するためのより信頼性の高い方法である md5 を追加することをお勧めします。

4. 部分キャッシュ

部分キャッシュとは、ウェブサイト上のすべてのファイルではなく、一部のファイルを指定してキャッシュ ファイルを生成することを意味します。部分キャッシュの本質は、実際には部分非キャッシュです。つまり、どのファイルをキャッシュするかを指定するのではなく、キャッシュしない特定のファイルを指定することです。ここで、3 つのファイルがあると仮定します:

http://www.phpernote.com/index.php //キャッシュが必要です

http://www.phpernote.com/cate.php //キャッシュが必要です

http://www.phpernote.com/article.php //キャッシュは必要ありません

最初の 2 つのファイルの php ファイルに $smarty->display('対応するテンプレート ファイル名', 'キャッシュ ファイル名の補足部分') という文を記述する必要があります。

ただし、3 番目のファイルでは、キャッシュが必要ないことを明確に示す必要があります。その具体的な方法は、指定されたテンプレートを表示する前に次のコードを記述することです。

$smarty->clear_cache('対応するテンプレートファイル名');//実際には$smarty->display('対応するテンプレートファイル名')の前後に記述できます

もちろん $smarty->display('対応するテンプレート ファイル名') を記述する必要があるため、キャッシュを生成したくないので、2 番目のパラメーターは必要ありません。

注: $smarty->clear_cache() と $smarty->display() のパラメータは一貫して記述する必要があります

5. 部分キャッシュ

部分キャッシュとは、同じページ内の特定のローカルな場所を指定してキャッシュを生成することです。実際には、どの部分がキャッシュを生成するかは指定されていませんが、どの部分がキャッシュを生成しないかは指定されていません(これは部分キャッシュの動作概念に似ています)。まずは次の例を見てみましょう:

article.php ファイルの一部は次のとおりです:

リーリー

テンプレートファイルarticle.htmlの対応するコードは次のとおりです:

リーリー

上記の例の説明は次のとおりです: PHP では、カスタム補助名を持つ insert_ (アンダースコアに注意) という名前のカスタム関数を定義するだけでよく、返された値を assign() で渡す必要はありません。このメソッドは、{insert name='customSupplementary name'} を使用してテンプレート ページで直接呼び出すことができ、同時にキャッシュの影響を受けずにリアルタイムで更新されます。

もう 1 つの追加事項は、Smarty キャッシュの使用が十分ではないと思われる場合は、カスタム キャッシュを使用することもできます。

ここでは、次のようなカスタム関数を使用してキャッシュを処理するように、cache_handler_func を設定する必要があります: リーリー

ここでは詳細には触れませんが、著者はこれについてあまり詳しくないため、共有することで他の人に誤解を与えることを恐れています。

興味がありそうな記事

  • PHPキャッシュ技術の詳細な説明
  • Mysqlデータベースキャッシュキャッシュ関数の分析、デバッグ、パフォーマンスの概要
  • Webページのキャッシュ制御 キャッシュ制御の共通値はプライベート、キャッシュなし、max-age、must-revalidate はじめに
  • smartyインクルードファイル 変数の使い方
  • Smarty変数演算子の概要
  • smartyテンプレートの情報に最新のタグを追加
  • PHPのキャッシュ操作例を詳しく解説
  • Smartyテンプレートの変数演算子概要

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/764132.html技術記事キャッシュを適切に使用すると、Web サイトのサーバー負荷を効果的に軽減できることを誰もが知っているはずです。非常に優れた PHP テンプレート エンジンとして、php Smarty は非常にシンプルで多様な機能を提供します。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。