You are here

interface CacheCollectorInterface in Drupal 10

Same name and namespace in other branches
  1. 8 core/lib/Drupal/Core/Cache/CacheCollectorInterface.php \Drupal\Core\Cache\CacheCollectorInterface
  2. 9 core/lib/Drupal/Core/Cache/CacheCollectorInterface.php \Drupal\Core\Cache\CacheCollectorInterface

Provides a caching wrapper to be used in place of large structures.

This should be extended by systems that need to cache large amounts of data to calling functions. These structures can become very large, so this class is used to allow different strategies to be used for caching internally (lazy loading, building caches over time etc.). This can dramatically reduce the amount of data that needs to be loaded from cache backends on each request, and memory usage from static caches of that same data.

The default implementation is \Drupal\Core\Cache\CacheCollector.

Hierarchy

Expanded class hierarchy of CacheCollectorInterface

All classes that implement CacheCollectorInterface

Related topics

2 files declare their use of CacheCollectorInterface
AliasWhitelistInterface.php in core/modules/path_alias/src/AliasWhitelistInterface.php
LibraryDiscovery.php in core/lib/Drupal/Core/Asset/LibraryDiscovery.php

File

core/lib/Drupal/Core/Cache/CacheCollectorInterface.php, line 19

Namespace

Drupal\Core\Cache
View source
interface CacheCollectorInterface {

  /**
   * Gets value from the cache.
   *
   * @param string $key
   *   Key that identifies the data.
   *
   * @return mixed
   *   The corresponding cache data.
   */
  public function get($key);

  /**
   * Sets cache data.
   *
   * It depends on the specific case and implementation whether this has a
   * permanent effect or if it just affects the current request.
   *
   * @param string $key
   *   Key that identifies the data.
   * @param mixed $value
   *   The data to be set.
   */
  public function set($key, $value);

  /**
   * Deletes the element.
   *
   * It depends on the specific case and implementation whether this has a
   * permanent effect or if it just affects the current request.
   *
   * @param string $key
   *   Key that identifies the data.
   */
  public function delete($key);

  /**
   * Returns whether data exists for this key.
   *
   * @param string $key
   *   Key that identifies the data.
   */
  public function has($key);

  /**
   * Resets the local cache.
   *
   * Does not clear the persistent cache.
   */
  public function reset();

  /**
   * Clears the collected cache entry.
   */
  public function clear();

}

Members