- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/lib/data/cacheenginexcache.php
- Класс: BitrixMainDataCacheEngineXCache
- Вызов: CacheEngineXCache::write
public function write($allVars, $baseDir, $initDir, $filename, $TTL)
{
$baseDirVersion = xcache_get($this->sid.$baseDir);
if ($baseDirVersion === null)
{
$baseDirVersion = md5(mt_rand());
if (!xcache_set($this->sid.$baseDir, $baseDirVersion))
return;
}
if ($initDir !== false)
{
$initDirVersion = xcache_get($baseDirVersion."|".$initDir);
if ($initDirVersion === null)
{
$initDirVersion = md5(mt_rand());
if (!xcache_set($baseDirVersion."|".$initDir, $initDirVersion))
return;
}
}
else
{
$initDirVersion = "";
}
$allVars = serialize($allVars);
$this->written = mb_strlen($allVars);
$key = $baseDirVersion."|".$initDirVersion."|".$filename;
xcache_set($key, $allVars, intval($TTL) * $this->ttlMultiplier);
if ($this->useLock)
{
$this->unlock($baseDir, $initDir, $key."~", $TTL);
}
}