How to clear cache programmatically in Drupal 8?

By SQL

TRUNCATE `cache_bootstrap`;
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_rest`;
TRUNCATE `cachetags`;
TRUNCATE `cache_toolbar`;

By Drush

drush cr all

Programmatically using PHP just use this method where you want to clear the cache:

drupal_flush_all_caches();

there are 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 a specific cache like route-cache then you can run the following code:

\Drupal::service("router.builder")->rebuild();

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 all the cache then try:

drupal_flush_all_caches()

The following services implement the CacheBackendInterface and has invalidateAll() method which marks all the cache items as invalid:

cache.bootstrap
cache.config
cache.data
cache.default
cache.discovery
cache.entity
cache.menu
cache.render
cache.static

Try below.

cache_clear_all() // For Drupal-7

drupal_flush_all_caches() // For Drupal-8