arc:cache

Version 24.2.8965


arc:cache


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

パラメータ

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

アトリビュートの制御

None

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

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

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

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

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

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