tl;dr

This is a simple module that caches HTML of a display.

About

Display Cache provides a simple way to cache the HTML of a specific entity rendered in a specific view mode.

The idea is to let each entity handle its own cache independent of external caching strategies. So the cache only refreshes if the displayed entity is actually changed in any way.

Comparision to other caching methods

Panels and Views

Panels and views provide a time-based caching mechanism. You can configure the time to elapse before the cache is rebuilt.

Panels

If a cached pane in Panels is used to display an entity and something is changed on this entity, the user has to wait until the configured caching time is elapsed before he gets the results displayed.

Views

If a cached view is used to display serveral entities and a new entity is added, which should be displayed within the view, the user has to wait also, before he gets the new Views results.

External caching mechanisms

External caching mechanisms like Varnish provide a good caching method unless the project works with logged in users. The request will not be cached bacause of the cookies sent within the call.

Cache warmup

If you need to warmup your caches please take a look at the Entity Cache Loader module wich integrates with Display Cache.

Conclusion

You need Diplay Cache if you need a caching mechanism and

  • You need an instant display of changes in entities.
  • You can't use external caching methods like varnish.

Usage

Call the display configuration page, with the display which shall be cached. For example admin/structure/types/manage/article/display/teaser. Enter the display cache section, enable Display Cache and configure the cache granularity.

Supported cache granularities

  • Global cache
  • Cache per URL
  • User granularity
    • Cache per role
    • Cache per user

Project Information

Downloads