Same name and namespace in other branches
- 4.6.x includes/bootstrap.inc \cache_clear_all()
- 4.7.x includes/bootstrap.inc \cache_clear_all()
- 5.x includes/cache.inc \cache_clear_all()
- 6.x includes/cache.inc \cache_clear_all()
- 6.x 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.
79 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().
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);
}
Comments
You may be looking for this...
drupal_flush_all_caches:
http://api.drupal.org/api/drupal/includes--common.inc/function/drupal_fl...
drupal_flush_all_caches() calls cache_clear_all()
In addition it is worth noting that drupal_flush_all_caches() calls cache_clear_all().
Not sure what happened to link above but this one currently works https://api.drupal.org/api/drupal/includes%21common.inc/function/drupal_...
$bin == cache table
The $bin is the name of the particular database cache table. So, for example:
cache_clear_all('field:node:' . $node->nid, 'cache_field');Speeding up cache
I built a custom module that allows the user to upload an image and then clears the cache to display the image on the page. the process takes a very long time, as the image must be uploaded then the cache cleared. right now I am using cache_clear_all but is there a way to only clear the cache for images?
If you'd like to clear an
If you'd like to clear an entire cache bin for database caches, regardless of the 'expire' value for a cached object, you need to do something like:
Providing an
'*'for the first parameter tells the database cache interface'sclear()method to truncate the particular cache bin.Drupal 8
Use the new cache API https://www.drupal.org/node/1272696