• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/data/cacheengineapc.php
  • Класс: BitrixMainDataCacheEngineApc
  • Вызов: CacheEngineApc::delFromSet
public function delFromSet($key, $member)
{
	$list = apcu_fetch($key);

	if (is_array($list) && !empty($list))
	{
		$rewrite = false;
		if (is_array($member))
		{
			foreach ($member as $keyID)
			{
				if (array_key_exists($keyID, $list))
				{
					$rewrite = true;
					$cacheKey = sha1($key . '|' . $keyID);
					unset($list[$keyID]);
					unset(self::$listKeys[$cacheKey]);

					$iexKey = $key . '|iex|' . $cacheKey;
					$this->del($iexKey);
				}
			}
		}
		elseif (array_key_exists($member, $list))
		{
			$rewrite = true;
			$cacheKey = sha1($key . '|' . $member);
			unset(self::$listKeys[$cacheKey]);
			unset($list[$member]);

			$iexKey = $key . '|iex|' . $cacheKey;
			$this->del($iexKey);
		}

		if ($rewrite)
		{
			if (empty($list))
			{
				apcu_delete($key);
			}
			else
			{
				apcu_store($key, $list, 0);
			}
		}
	}
}