Information for: DEVELOPERS   PARTNERS

Views caching

The Views module is a query builder. Any view the module creates queries your database one or more times. Creating views can result in a large number of database queries for any given page load.

By default, Views does not cache any of its queries or data. While Drupal’s page caching will mask some of the problem, websites with a large amount of traffic coming from authenticated users will see heavier load unless you cache the views.

Setting up view caching

You can start caching your views by setting up time-based caching on any view displayed on a routine basis.

To set up caching for a view, complete the following steps:

  1. Sign in to your website, and then go to Structure > Views (Drupal 7 and 8).

  2. Find the view you want to configure, and then click its Edit link.

  3. In the Advanced settings section, click None next to Caching.

    Advanced settings for views caching

  4. Select Time-based, which gives you the opportunity to cache query results or rendered output.

  5. Click Apply to save the new caching value.

  6. Click Save to save the edits to your view.

You must consider settings individually per view. Even a five-minute cache can make a significant difference in website performance. A blog post on Optimizing Drupal Views the Right Way offers several suggestions for Views caching.

If you need more control over when the cache for each view clears, and do not want to set up the Rules and Acquia Purge modules to clear caches based on rules, consider the Views content cache module to set up per-view cache clears when you add content of certain types to the database.

Additional caching information

For more information about caching on your Drupal website, see Caching overview.