New to Telerik Reporting? Download free 30-day trial

Cache Management System Overview

Telerik Reporting uses a dedicated cache management system to store and cache rendered pages and some large resources such as images on an external storage. This cache management system is utilized by report viewers automatically as shown in the following illustration:

The report rendering workflow diagram with cache system shown schematically

Applicable For

  • WinForms ReportViewer - settings must be applied in the application configuration file. By default the viewer keeps the report state in memory;
  • WPF ReportViewer - settings must be applied in the application configuration file. By default the viewer keeps the report state in memory;
  • Silverlight ReportViewer (not supported since R1 2023 SP1) - settings must be applied in the Reporting WCF service application configuration file. By default the viewer keeps the report state in memory;
  • ASP.NET WebForms ReportViewer (obsolete web viewer) - settings must be applied in the application configuration file. By default the viewer keeps the report state in the ASP.NET Session;

The cache settings mentioned in this article are not obligatory, and they do not apply to the HTML5 Report Viewer or its Angular, WebForms, MVC and other wrappers. Details about the Cache Storage of the Reporting REST Service that works with the HTML5 Report Viewer are available in Report Viewer and Reporting REST services.

Cache Management

Such cache management implementation offers the following key benefits:

  • Reduced memory footprint – since the rendered pages and resources are cached on an external storage rather than being kept in memory, the viewers can handle very large reports with thousands of pages and images without increasing the memory consumed by the application too much.
  • Improved performance – the caching mechanism implemented by the cache management system can lead to improved performance of the viewers in certain scenarios.
  • Improved scalability – web farms can be configured to cache rendered reports on a dedicated database server. This allows subsequent requests to the same report to be served by different machines in the web farm leading to better load balancing. Only the database storage is shared between all machines in the farm, as shown in the following illustration:

    Shared database storage between all machines in a web farm shown schematically

See Also

In this article