Cacheable dependencies got introduced in drupal 8 and provides great power over your caching. I recently found out that you can add "cacheable dependencies" to your render arrays like in the snippet below. It will only get cleared if the configuration changes. That's quite a great win, actually!

public function build() {
  $config = \Drupal::config('');

  $build = [
    '#markup' => $config->get('name'),

  $renderer = \Drupal::service('renderer');
  $renderer->addCacheableDependency($build, $config);

  return $build;

More about cacheability of render arrays.



Saved you some valuable time?

Received 100 so far from 4 kind contributors.