Experimental project

This is a sandbox project, which contains experimental code for developer use only.

Overview

This module was created to allow for selective cache clears in highly cached Drupal environments where clearing the entire cache at peak traffic times could bring down the site.

Because of the complexities of the Drupal cache system, use of this module is only recommended for experienced developers who are familiar with how the Drupal cache system works.

Features

- Allows the clearing of items from the cache_page (cached HTML indexed by page URI) and cache (cached Drupal variables) through the Drupal admin or through generated cache clear URIs.

- Cache clear routines are saved into the Drupal admin and available again later.

- Access control is implemented around both the admin screens and the cache clear URIs.

- Cache clear URIs can be made externally accessible by allowing anonymous Drupal users access. This would allow a system cron job to periodically clear certain cache items.

- Denial of service (DOS) protection is enabled on cache clear URIs by enabling a minimum cache clear frequency to prevent an external source from clearing your cache continually.

Example Usage

- Let's say I've got a callback to Twitter on my homepage to get and display my latest Twitter status via a server side API. Because this is server side, the resulting output HTML will be cached with the rest of my homepage in the cache_page table. I can setup a cache clear routine to just clear my homepage from the cache with an externally accessible URI. Next, I can setup a cron job on my server to hit this URI every 15 minutes. As a result, I can keep the minimum cache TTL at a high number like 4 hours, while my homepage and Twitter status get updated every 15 minutes.

Project information