function CacheCollector::set
Same name in other branches
- 9 core/lib/Drupal/Core/Cache/CacheCollector.php \Drupal\Core\Cache\CacheCollector::set()
- 8.9.x core/lib/Drupal/Core/Cache/CacheCollector.php \Drupal\Core\Cache\CacheCollector::set()
- 10 core/lib/Drupal/Core/Cache/CacheCollector.php \Drupal\Core\Cache\CacheCollector::set()
Implements \Drupal\Core\Cache\CacheCollectorInterface::set().
This is not persisted by default. In practice this means that setting a value will only apply while the object is in scope and will not be written back to the persistent cache. This follows a similar pattern to static vs. persistent caching in procedural code. Extending classes may wish to alter this behavior, for example by adding a call to persist(). If you are writing data to somewhere in addition to the cache item in ::set(), you should call static::updateCache() at the end of your ::set implementation. This avoids a race condition if another request starts with an empty cache before your ::set() call. For example: Drupal\Core\State\State.
Overrides CacheCollectorInterface::set
3 calls to CacheCollector::set()
- CacheCollectorHelper::set in core/
tests/ Drupal/ Tests/ Core/ Cache/ CacheCollectorHelper.php - Implements \Drupal\Core\Cache\CacheCollectorInterface::set().
- State::set in core/
lib/ Drupal/ Core/ State/ State.php - Implements \Drupal\Core\Cache\CacheCollectorInterface::set().
- State::setMultiple in core/
lib/ Drupal/ Core/ State/ State.php - Saves key/value pairs.
2 methods override CacheCollector::set()
- CacheCollectorHelper::set in core/
tests/ Drupal/ Tests/ Core/ Cache/ CacheCollectorHelper.php - Implements \Drupal\Core\Cache\CacheCollectorInterface::set().
- State::set in core/
lib/ Drupal/ Core/ State/ State.php - Implements \Drupal\Core\Cache\CacheCollectorInterface::set().
File
-
core/
lib/ Drupal/ Core/ Cache/ CacheCollector.php, line 165
Class
- CacheCollector
- Default implementation for CacheCollectorInterface.
Namespace
Drupal\Core\CacheCode
public function set($key, $value) {
$this->lazyLoadCache();
$this->storage[$key] = $value;
// The key might have been marked for deletion.
unset($this->keysToRemove[$key]);
$this->invalidateCache();
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.