in this tuto, I'll show you the methods for clearing or rebuilding Drupal 8 cache programmatically and using admin UI, update.php, drush, SQL, ...
Programmatically using PHP
juste use this method where you want to clear the cache:
drupal_flush_all_caches();
there is also other methods to clear caches using:
By Admin UI
Navigate to /admin/config/development/performance
and click the button "Clear all caches".
By Drush
drush cache-rebuild
//or you can use
drush cr
By update.php
Run update.php (/update.php
) is another way of clearing the cache.
By SQL
Delete all data inside tables that start with "cache_" like this:TRUNCATE cache_config;
TRUNCATE cache_container;
TRUNCATE cache_data;
TRUNCATE cache_default;
TRUNCATE cache_discovery;
TRUNCATE cache_dynamic_page_cache;
TRUNCATE cache_entity;
TRUNCATE cache_menu;
TRUNCATE cache_render;
TRUNCATE cache_toolbar;
Other Methods:
$variables['#cache']['max-age'] = 0;
\Drupal::service('page_cache_kill_switch')->trigger();
cache_clear_all() // For Drupal-7
drupal_flush_all_caches() // For Drupal-8
If you want to clear specific cache like render cache then you can run the following code:
\Drupal::service('cache.render')->invalidateAll();
If you want to clear specific cache like route cache then you can run the following code:
\Drupal::service("router.builder")->rebuild();
Comments
Difference "Clear all caches" and drupal_flush_all_caches()?
@Jozef drupal_flush_all…
@Jozef drupal_flush_all_caches this function Flushes all persistent caches, resets all variables, and rebuilds all data structures.
drupal_flush_all_caches() do same work like /admin/config/development/performance. just check if you apply this method in the right place.
How can I be sure that I…
or, should I call drupal…
Try this method https:/…
Try this method https://drupal.stackexchange.com/questions/267346/invalidate-a-specific-cache-tag-on-any-saved-taxonomy-term
it works, finally
@jozef yes of course.
@jozef yes of course.
Could you point me, please,…