arc:cache

Version 22.0.8473


arc:cache

Version 22.0.8473


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

パラメータ

  • file:アウトプットがキャッシュされるファイル名。ファイルにキャッシュするには、ファイルパラメータに加えて、期間パラメータ、もしくは依存パラメータのどちらかを指定しなければなりません。

    インプットパラメータ値が異なるアウトプットにつき別にキャッシュを行う場合には、ファイル名にパラメータ値を含むようにしてください。

  • key:スクリプトのアウトプットをインメモリキャッシュに保存するために使うキー。インメモリキャッシュの場合には、キーパラメータを指定する必要があります。

    ファイルアトリビュートと同様に、キャッシュオブジェクトを区別するためにスクリプト変数を使うことができます。

  • duration:分単位で指定された期間。これは、一定の期間だけインメモリ、もしくはファイルにキャッシュを行い、その後にリフレッシュする場合に使われます。
  • priority:プライオリティはインメモリキャッシュの場合に使われます。プライオリティパラメータはキーが指定されている場合のみ有効です。プライオリティの有効な値は、Low、BelowNormal、Normal、AboveNormal、High、および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]"/>