def from_url(cls, url):
        """
        Given a resource uri, return an instance of that cache initialized with the given
        parameters. An example usage:

        >>> from aiocache import Cache
        >>> Cache.from_url('memory://')
        <aiocache.backends.memory.SimpleMemoryCache object at 0x1081dbb00>

        a more advanced usage using queryparams to configure the cache:

        >>> from aiocache import Cache
        >>> cache = Cache.from_url('redis://localhost:10/1?pool_min_size=1')
        >>> cache
        RedisCache (localhost:10)
        >>> cache.db
        1
        >>> cache.pool_min_size
        1

        :param url: string identifying the resource uri of the cache to connect to
        """
        parsed_url = urllib.parse.urlparse(url)
        kwargs = dict(urllib.parse.parse_qsl(parsed_url.query))
        cache_class = Cache.get_scheme_class(parsed_url.scheme)

        if parsed_url.path:
            kwargs.update(cache_class.parse_uri_path(parsed_url.path))

        if parsed_url.hostname:
            kwargs["endpoint"] = parsed_url.hostname

        if parsed_url.port:
            kwargs["port"] = parsed_url.port

        if parsed_url.password:
            kwargs["password"] = parsed_url.password

        return Cache(cache_class, **kwargs)
Given a resource uri, return an instance of that cache initialized with the given
        parameters. An example usage:

        >>> from aiocache import Cache
        >>> Cache.from_url('memory://')
        <aiocache.backends.memory.SimpleMemoryCache object at 0x1081dbb00>

        a more advanced usage using queryparams to configure the cache:

        >>> from aiocache import Cache
        >>> cache = Cache.from_url('redis://localhost:10/1?pool_min_size=1')
        >>> cache
        RedisCache (localhost:10)
        >>> cache.db
        1
        >>> cache.pool_min_size
        1

        :param url: string identifying the resource uri of the cache to connect to