• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/classes/general/cache_memcache.php
  • Класс: CPHPCacheMemcache
  • Вызов: CPHPCacheMemcache::clean
function clean($basedir, $initdir = false, $filename = false)
{
	if(is_object(self::$obMemcache))
	{
		if($filename <> '')
		{
			if(!isset(self::$basedir_version[$basedir]))
			{
				self::$basedir_version[$basedir] = self::$obMemcache->get($this->sid.$basedir);
			}

			if(self::$basedir_version[$basedir] === false || self::$basedir_version[$basedir] === '')
			{
				return true;
			}

			if($initdir !== false)
			{
				$initdir_version = self::$obMemcache->get(self::$basedir_version[$basedir]."|".$initdir);
				if($initdir_version === false || $initdir_version === '')
				{
					return true;
				}
			}
			else
			{
				$initdir_version = "";
			}

			self::$obMemcache->replace(self::$basedir_version[$basedir]."|".$initdir_version."|".$filename, "", 0, 1);
		}
		else
		{
			if($initdir <> '')
			{
				if(!isset(self::$basedir_version[$basedir]))
				{
					self::$basedir_version[$basedir] = self::$obMemcache->get($this->sid.$basedir);
				}

				if(self::$basedir_version[$basedir] === false || self::$basedir_version[$basedir] === '')
				{
					return true;
				}

				self::$obMemcache->replace(self::$basedir_version[$basedir]."|".$initdir, "", 0, 1);
			}
			else
			{
				if(isset(self::$basedir_version[$basedir]))
				{
					unset(self::$basedir_version[$basedir]);
				}

				self::$obMemcache->replace($this->sid.$basedir, "", 0, 1);
			}
		}
		return true;
	}

	return false;
}