Purge is a framework for clearing external caches, like reverse proxies and CDNs, when content changes in Drupal. It helps keep your site's performance, resilience, and ability to handle traffic spikes high by ensuring external caches only store up-to-date information. The system uses a plugin architecture to support various caching systems and configurations.
The modular external cache invalidation framework.
The purge module facilitates cleaning external caching systems, reverse proxies and CDNs as content actually changes. This allows external caching layers to keep unchanged content cached infinitely, making content delivery more efficient, resilient and better guarded against traffic spikes.
The 8.x-3.x versions enable invalidation of content from external systems leveraging Drupal's brand new cache architecture. The technology-agnostic plugin architecture allows for different server configurations and use cases. Last but not least, it enforces a separation of concerns and should be seen as a middleware solution (see README.md).
For most simple configurations, start with:
drush en purge purge_uidrush en purge_drush purge_queuer_coretags purge_processor_cron- Head over to
admin/config/development/performance/purge. - Now you need to install - and probably configure - a third-party module that provides a purger. If no module supports invalidation of your cache layer and doing so works over HTTP, then use the generic
purge_purger_http.
This project aims to get all modules dealing with proxies and CDNs on board and to integrate with Purge. As known to date, these modules are or are being integrated:
purge_purger_httpfor generic HTTP-based invalidation, e.g.nginx,squid, etc.purge_queuer_urlfor legacy platforms not supporting cache tags. This is a poor solution when you regularly import content, it can lead to unsustainable big queues!acquia_purgeakamaicloudflarecloudfront_purgerfastlypurgerkeycdnvarnish_purgemax_cdn_cachenginx_cache_clear