api:cache

Version 25.3.9411


api:cache


api:cache キーワードを使用して、スクリプトまたはテンプレートのアウトプットをキャッシュします。キャッシングは、アウトプットが変化しないと予測されるリソースインテンシブスクリプトの実行を抑える働きがあります。指定された期間中にアウトプットをファイルにキャッシュしたり、アウトプットをメモリにキャッシュすることができます。プライオリティベースまたはタイムベースのキャッシングが可能です。

パラメータ

  • file:アウトプットがキャッシュされるファイルの名前。ファイルにキャッシュするには、duration またはdependency も指定しなければなりません。異なるインプットパラメータ値に対して異なるバージョンのアウトプットをキャッシュするには、ファイル名にパラメータ値を含めます。
  • key:スクリプトのアウトプットをインメモリキャッシュに保存するために使うキー。メモリにキャッシュするには、key パラメータを指定する必要があります。file アトリビュートのように、キャッシュオブジェクトを区別するためにスクリプト変数を使うことができます。
  • duration:分単位の期間。一定の期間キャッシュし、その後メモリやファイルにキャッシュされたオブジェクトの内容をリフレッシュします。
  • priority:インメモリキャッシュにキャッシュするときに使用する優先順位。key が指定されている場合にのみ有効です。有効な値は、LowBelowNormalNormalAboveNormalHigh、およびNotRemovable です。
  • updateapi:cache 構文が呼び出しごとにキャッシュをリフレッシュするかどうか。デフォルト値はfalse です。
  • format:キャッシュファイルの形式:SQLite またはRSS。デフォルトはRSS です。
  • table:アウトプットがキャッシュされるSQLite データベースのテーブル。
  • dependency:ASP.NET キャッシュ依存へのマッピング。指定されたファイルに変更があると、キャッシュのオブジェクトが削除されます。このファイルまたはディレクトリは、System.Web.Caching.CacheDependency(fileOrDir) にマップされます。

アトリビュートの制御

None

顧客タイプごとにXML ファイルを作成します。tofilename フォーマッタは、結果として得られる名前がファイル名として使用できることを確認します:

<api:cache duration="10" file="cache_[customer_type |tofilename].xml"/>

customer_type レコードを、ファイルの代わりにインメモリにキャッシュします:

<api:cache priority="Normal" key="cache_[customer_type]"/>

リクエストで指定されたステートごとに新しいキャッシュオブジェクトを作成します:

<api:cache key="cache_[_request.state]"/>