Programmatic Caching
As covered in the cf_CacheOMatic Tags section, Mura allows developers to add data to Mura's cache. One thing to keep in mind is your data or code may be either intentionally or even inadvertently wrapped by cf_CacheOMatic
tags, subjecting your output to the settings of the tag.
However, as a developer, you may have data or code you wish to either explicitly exclude from being added to Mura's cache. Or, you may wish to set a specific duration of time the data or code may be cached for. Mura also allows developers to achieve this using the code snippets described below.
request.cacheItem
This code snippet controls whether the code or data will be cached if wrapped by cf_CacheOMatic
tags. If true
, the code or data will be cached according to the settings of the containing cf_CacheOMatic
tags. If false
, the code or data will not be cached.
Note: A side-effect of setting request.cacheItem
to false
is none of the code or data within the containing cf_CacheOMatic
tags will be cached at all.
Syntax
request.cacheItem = {true || false}
Example
<cfset request.cacheItem = false /> <!--- The following timestamp will NOT be cached ---> <cfoutput> <p>The date/time is #Now()#</p> </cfoutput>
request.cacheItemTimeSpan
This code snippet controls the duration of time the code or data will be cached for.
Syntax
request.cacheItemTimeSpan = {TimeSpan Object}
Example
<cfset request.cacheItemTimeSpan = CreateTimeSpan(0, 0, 5, 0) /> <!--- The following timestamp will be cached for 5 minutes, if wrapped by cf_CacheOMatic tags ---> <cfoutput> <p>The date/time is #Now()#.</p> </cfoutput>