You are here

function cache_clear_all in Drupal 7

Same name and namespace in other branches
  1. 4 includes/bootstrap.inc \cache_clear_all()
  2. 5 includes/cache.inc \cache_clear_all()
  3. 6 includes/cache.inc \cache_clear_all()
  4. 6 includes/cache-install.inc \cache_clear_all()

Expires data from the cache.

If called with the arguments $cid and $bin set to NULL or omitted, then expirable entries will be cleared from the cache_page and cache_block bins, and the $wildcard argument is ignored.

Parameters

$cid: If set, the cache ID or an array of cache IDs. Otherwise, all cache entries that can expire are deleted. The $wildcard argument will be ignored if set to NULL.

$bin: If set, the cache bin to delete from. Mandatory argument if $cid is set.

$wildcard: If TRUE, the $cid argument must contain a string value and cache IDs starting with $cid are deleted in addition to the exact cache ID specified by $cid. If $wildcard is TRUE and $cid is '*', the entire cache is emptied.

80 calls to cache_clear_all()
aggregator_aggregator_parse in modules/aggregator/aggregator.parser.inc
Implements hook_aggregator_parse().
BlockCacheTestCase::testCachePerRole in modules/block/block.test
Test DRUPAL_CACHE_PER_ROLE.
block_add_block_form_submit in modules/block/block.admin.inc
Form submission handler for block_add_block_form().
block_admin_configure_submit in modules/block/block.admin.inc
Form submission handler for block_admin_configure().
block_admin_display_form_submit in modules/block/block.admin.inc
Form submission handler for block_admin_display_form().

... See full list

2 string references to 'cache_clear_all'
menu_cache_clear in includes/menu.inc
Clears the cached data for a single named menu.
_menu_clear_page_cache in includes/menu.inc
Clears the page and block caches at most twice per page load.

File

includes/cache.inc, line 163
Functions and interfaces for cache handling.

Code

function cache_clear_all($cid = NULL, $bin = NULL, $wildcard = FALSE) {
  if (!isset($cid) && !isset($bin)) {

    // Clear the block cache first, so stale data will
    // not end up in the page cache.
    if (module_exists('block')) {
      cache_clear_all(NULL, 'cache_block');
    }
    cache_clear_all(NULL, 'cache_page');
    return;
  }
  return _cache_get_object($bin)
    ->clear($cid, $wildcard);
}