• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/data/cacheenginememcache.php
  • Класс: BitrixMainDataCacheEngineMemcache
  • Вызов: CacheEngineMemcache::delFromSet
public function delFromSet($key, $member)
{
	$list = self::$engine->get($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))
			{
				$this->del($key);
			}
			else
			{
				$this->set($key, 0, $list);
			}
		}
	}
}