function ChainedFastBackend::markAsOutdated

Same name in other branches
  1. 9 core/lib/Drupal/Core/Cache/ChainedFastBackend.php \Drupal\Core\Cache\ChainedFastBackend::markAsOutdated()
  2. 8.9.x core/lib/Drupal/Core/Cache/ChainedFastBackend.php \Drupal\Core\Cache\ChainedFastBackend::markAsOutdated()
  3. 10 core/lib/Drupal/Core/Cache/ChainedFastBackend.php \Drupal\Core\Cache\ChainedFastBackend::markAsOutdated()

Marks the fast cache bin as outdated because of a write.

7 calls to ChainedFastBackend::markAsOutdated()
ChainedFastBackend::delete in core/lib/Drupal/Core/Cache/ChainedFastBackend.php
Deletes an item from the cache.
ChainedFastBackend::deleteAll in core/lib/Drupal/Core/Cache/ChainedFastBackend.php
Deletes all cache items in a bin.
ChainedFastBackend::deleteMultiple in core/lib/Drupal/Core/Cache/ChainedFastBackend.php
Deletes multiple items from the cache.
ChainedFastBackend::invalidateAll in core/lib/Drupal/Core/Cache/ChainedFastBackend.php
Marks all cache items as invalid.
ChainedFastBackend::invalidateMultiple in core/lib/Drupal/Core/Cache/ChainedFastBackend.php
Marks cache items as invalid.

... See full list

File

core/lib/Drupal/Core/Cache/ChainedFastBackend.php, line 292

Class

ChainedFastBackend
Defines a backend with a fast and a consistent backend chain.

Namespace

Drupal\Core\Cache

Code

protected function markAsOutdated() {
    // Clocks on a single server can drift. Multiple servers may have slightly
    // differing opinions about the current time. Given that, do not assume
    // 'now' on this server is always later than our stored timestamp. Add 50ms
    // to the current time each time we write it to the persistent cache, and
    // make sure it is always at least 1ms ahead of the current time. This
    // somewhat protects against clock drift, while also reducing the number of
    // persistent cache writes to one every 50ms if this method is called
    // multiple times during a request.
    $compare = round(microtime(TRUE) + 0.001, 3);
    if ($compare > $this->getLastWriteTimestamp()) {
        $now = round(microtime(TRUE) + 0.05, 3);
        $this->lastWriteTimestamp = $now;
        $this->consistentBackend
            ->set(self::LAST_WRITE_TIMESTAMP_PREFIX . $this->bin, $this->lastWriteTimestamp);
    }
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.