function clean($basedir, $initdir = false, $filename = false)
 {
     global $DB;
     if (is_object(self::$obMemcache)) {
         if ($this->bQueue && class_exists('CModule') && CModule::IncludeModule('cluster')) {
             foreach (self::$arOtherGroups as $group_id => $tmp) {
                 CClusterQueue::Add($group_id, 'CPHPCacheMemcacheCluster', $basedir, $initdir, $filename);
             }
         }
         if (strlen($filename)) {
             $basedir_version = self::$obMemcache->get($this->sid . $basedir);
             if ($basedir_version === false || $basedir_version === '') {
                 return true;
             }
             if ($initdir !== false) {
                 $initdir_version = self::$obMemcache->get($basedir_version . "|" . $initdir);
                 if ($initdir_version === false || $initdir_version === '') {
                     return true;
                 }
             } else {
                 $initdir_version = "";
             }
             self::$obMemcache->replace($basedir_version . "|" . $initdir_version . "|" . $filename, "", 0, 1);
         } else {
             if (strlen($initdir)) {
                 $basedir_version = self::$obMemcache->get($this->sid . $basedir);
                 if ($basedir_version === false || $basedir_version === '') {
                     return true;
                 }
                 self::$obMemcache->replace($basedir_version . "|" . $initdir, "", 0, 1);
             } else {
                 self::$obMemcache->replace($this->sid . $basedir, "", 0, 1);
             }
         }
         return true;
     }
     return false;
 }