arc:cache
Version 24.3.9111
arc:cache
arc:cache 关键字允许用户缓存脚本或模板的输出。缓存有助于限制资源密集型脚本的执行,这些脚本的输出不会改变。可以在指定的时间内将输出缓存到文件中,也可以将输出缓存到内存中,也可以使用基于优先级或基于事件的缓存。
参数
- file:输出缓存到的文件的名称。要缓存到文件,还必须指定 duration 或 dependency 参数。要为不同的输入参数值缓存不同版本的输出,请在文件名中包含参数值。
- key:用于将脚本输出存储在内存缓存中的键。要缓存在内存中,必须指定此参数。与 file 参数一样,您可以使用脚本变量来区分缓存对象。
- duration:指定的间隔时间(分钟)。可用于缓存固定的时间,然后刷新缓存在内存中的对象或文件的内容。
- priority:缓存到内存中时使用的优先级。只有当 key 被指定,priority 参数才是有效的。priority 的有效值有 Low,BelowNormal,Normal,AboveNormal,High 和 NotRemovable。
- update:arc:cache 语句是否在调用时刷新缓存,默认为 false。
- format:缓存的文件格式:SQLite 还是 RSS。默认为 RSS。
- table:SQLite 数据库中缓存输出的表。
- dependency:与 ASP.NET 缓存依赖的映射。当指定的文件改变,缓存中的对象会被删除。此文件或目录映射到 System.Web.Caching.CacheDependency(文件或目录)。
控制属性
无
示例
为每一个客户类型创建一个 .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]"/>