def configure_client(
            cls, address: Union[str, Tuple[str, int], Path] = 'localhost', port: int = 6379,
            db: int = 0, password: str = None, ssl: Union[bool, str, SSLContext] = False,
            **client_args) -> Dict[str, Any]:
        """
        Configure a Redis client.

        :param address: IP address, host name or path to a UNIX socket
        :param port: port number to connect to (ignored for UNIX sockets)
        :param db: database number to connect to
        :param password: password used if the server requires authentication
        :param ssl: one of the following:

            * ``False`` to disable SSL
            * ``True`` to enable SSL using the default context
            * an :class:`~ssl.SSLContext` instance
            * a ``module:varname`` reference to an :class:`~ssl.SSLContext` instance
            * name of an :class:`~ssl.SSLContext` resource
        :param client_args: extra keyword arguments passed to :func:`~aioredis.create_redis_pool`

        """
        assert check_argument_types()
        if isinstance(address, str) and not address.startswith('/'):
            address = (address, port)
        elif isinstance(address, Path):
            address = str(address)

        client_args.update({
            'address': address,
            'db': db,
            'password': password,
            'ssl': resolve_reference(ssl)
        })
        return client_args
Configure a Redis client.

        :param address: IP address, host name or path to a UNIX socket
        :param port: port number to connect to (ignored for UNIX sockets)
        :param db: database number to connect to
        :param password: password used if the server requires authentication
        :param ssl: one of the following:

            * ``False`` to disable SSL
            * ``True`` to enable SSL using the default context
            * an :class:`~ssl.SSLContext` instance
            * a ``module:varname`` reference to an :class:`~ssl.SSLContext` instance
            * name of an :class:`~ssl.SSLContext` resource
        :param client_args: extra keyword arguments passed to :func:`~aioredis.create_redis_pool`