function CacheCollector::normalizeLockName
Same name in other branches
- 8.9.x core/lib/Drupal/Core/Cache/CacheCollector.php \Drupal\Core\Cache\CacheCollector::normalizeLockName()
- 10 core/lib/Drupal/Core/Cache/CacheCollector.php \Drupal\Core\Cache\CacheCollector::normalizeLockName()
Normalizes a cache ID in order to comply with database limitations.
Parameters
string $cid: The passed in cache ID.
Return value
string An ASCII-encoded cache ID that is at most 255 characters long.
1 call to CacheCollector::normalizeLockName()
- CacheCollector::updateCache in core/
lib/ Drupal/ Core/ Cache/ CacheCollector.php - Writes a value to the persistent cache immediately.
File
-
core/
lib/ Drupal/ Core/ Cache/ CacheCollector.php, line 285
Class
- CacheCollector
- Default implementation for CacheCollectorInterface.
Namespace
Drupal\Core\CacheCode
protected function normalizeLockName($cid) {
// Nothing to do if the ID is a US ASCII string of 255 characters or less.
$cid_is_ascii = mb_check_encoding($cid, 'ASCII');
if (strlen($cid) <= 255 && $cid_is_ascii) {
return $cid;
}
// Return a string that uses as much as possible of the original cache ID
// with the hash appended.
$hash = Crypt::hashBase64($cid);
if (!$cid_is_ascii) {
return $hash;
}
return substr($cid, 0, 255 - strlen($hash)) . $hash;
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.