private function resolvePath($key, $createDir = true): string
    {
        $hash = self::createKeyHash($key);
        $path = $this->cachePath.$this->cacheName.'/';
        for ($i = 0; $i < self::CACHE_LEVEL; $i++) {
            $path .= substr($hash, 2 * ($i), 2).'/';
            if ($createDir && !is_dir($path)) {
                mkdir($path);
            }
        }

        return $path.$hash;
    }