When designing your application, you can set specific elements to have their content cached and this way improve your application's runtime performance: the execution of cached elements is faster since when their resulting content is already stored in the cache and it is immediately returned.

This functionality is only available for the .NET stack. If the Application Server eSpace property is set to J2EE, the Cache in Minutes property will be ignored at runtime.

Where is the Cache?

There is a cache in the memory of each Front-end Server. Whenever memory space is required, elements are removed from the cache using the least recently used algorithm.

Setting an Element for Caching

To start caching an element content simply set its Cache in Minutes property to a value grater than zero.

The elements that can be cached are the following:

Cached elements cannot have input parameters of the following types: Record, List, and Binary Data.

Cache in Multi-tenant Applications

In Multi-tenant applications, there is a specific cache for each tenant, which only stores data specific to it. In this case: Web Screens, Web Blocks, Aggregates and SQl, User-defined Actions and methods output of consumed SOAP Web Services will be stored on the tenant's cache.

Learn more about Using Cache in Multi-Tenant Applications.

Behavior of Cached Elements

A cached element behaves as follows:

However, any cached element is evaluated again whenever:

Web Screens and Web Blocks cache the content of all elements they contain. However, if the content of any of these elements changes, it won't be automatically updated in the Web Screen or Web Block cached content. This will only happen when the whole Web Screen or Web Block is evaluated again.

Electing Elements for Caching

You should consider caching the contents of:

Following are some concrete examples of these situations:

See Also

Invalidating the Cache