Home

External page-cache


Description:
Re-order Drupal core's bootstrap process so anonymous pages can be served from an external cache (such as memcache) without hitting the database.

Drupal's default bootstrap order is as follows:

    DRUPAL_BOOTSTRAP_CONFIGURATION
    DRUPAL_BOOTSTRAP_EARLY_PAGE_CACHE
    DRUPAL_BOOTSTRAP_DATABASE
    DRUPAL_BOOTSTRAP_ACCESS
    DRUPAL_BOOTSTRAP_SESSION
    DRUPAL_BOOTSTRAP_LATE_PAGE_CACHE

This patch changes it as follows:

    DRUPAL_BOOTSTRAP_CONFIGURATION
    DRUPAL_BOOTSTRAP_EARLY_PAGE_CACHE
    DRUPAL_BOOTSTRAP_SESSION
    DRUPAL_BOOTSTRAP_LATE_PAGE_CACHE
    DRUPAL_BOOTSTRAP_DATABASE
    DRUPAL_BOOTSTRAP_ACCESS

This patch assumes you are managing both sessions and the page cache outside of the database. For example, you can use the patches that come with the memcache project (http://drupal.org/project/memcache) to manage sessions and the page cache in memory with memcache. It also requires that you enable aggressive caching, as many _init hooks involve a database query which is not possible with this patch.

Status:
This patch has not been merged into any release of Drupal.

Patch:
http://tag1consulting.com/patches#external

Original patch source:
http://drupal.org/node/230101
http://drupal.org/files/issues/bootstrap_30.patch

Modified comments to not specifically mention memcache.