Skip to end of banner
Go to start of banner

Cache Macro - 7.x

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

On this page

Summary

Cache Macro caches rendered data to improve page display performance.

This macro caches the rendered contents of its body. This is very useful when using macros that might be slow to render content, but where it does not really need to be dynamically generated for each and every request. Specifically, this can improve performance for accessing dynamic data from SQLExcel, and similar macros. Cache is refreshed when the body of the macro changes or attachments to this page are added, removed, or have newer versions. The cache applies to all users that view the page. The cached content can optionally be indexed for Confluence search.

User specific content

Do not use the cache macro around content that renders differently for different users. This is especially important for any content that is security sensitive.

Parameters

Customization

See New Cache Management Options.

Usage

{cache}
Something to cache for a day
{cache}
{cache:refresh=30m}
This will be cached for 30 minutes
{cache}
{cache:refresh=2 hours}
The excel data will be cached for 2 hours
{excel:file=^Report.xls}
{cache}
{cache:cron=30 * * * *|showRefresh=true|title=Refresh data from database}
This will be cached until 30 minutes past each hour of the day
{sql:dataSource=ReportDS}
select * from report
{sql}
{cache}
{cache:refresh=1d|showRefresh=true|showDate=true}
{beanshell}
System.out.println("Hello world " + (new Date()) );
{beanshell}
{cache}

Advanced Examples

Tips and Techniques

Page display performance tips and techniques

Compatibility With Other Macros

See Interoperability

Cache Refresh

  • To force all cache macros on a page to refresh, use the refresh request attribute with value true
    • Example

      http://localhost/display/DEMO/test?refresh=true
      
  • To force a specific cache macros on a page to refresh, use refresh request attribute with value equal to the cache macro id. If not specified, it defaults to a sequence number based on position on page
    • Example

      http://localhost/display/DEMO/test?refresh=1
      
      http://localhost/display/DEMO/test?refresh=myId
  • No labels