DotNetNuke provides various options for caching, each of which is slightly different in approach and behavior:
- Object Caching is performed in the core, modules and providers and caches objects from data sources to avoid repetitive request of same objects. This is very effective, as data source requests are highly time consuming, regardless, whether the data source is a Database query, a web service call or a file. The type of caching and it's duration can be controlled via Host settings, and are often changed as part of the process of DotNetNuke Performance tweaking.
- Module Output Caching: if content of a module does not vary by user, the rendered HTML of a module content may be cached (as a file or in memory) to avoid being recreated on any call. Cache duration and location may be specified in Module Settings, unless it is suppressed by the Module Definition itself.
- Page Output Caching allows to cache rendered output of a complete page, if it does not vary by user in any module or skin object (displaying Username or Messaging Inbox would prevent caching the page. Page caching provider are not included in Community Framework, but in commercial editions and by 3rd party developers.
Please note, for installations using more than 1 machine (a webfarm), alternative Caching Providers
may have to be considered.