def METHOD_NAME(cls, job_id: str, result_id: str, payload: dict, connection: Redis, serializer=None) -> 'Result':
    """Create a Result object from given Redis payload"""
    created_at = datetime.fromtimestamp(int(result_id.split('-')[0]) / 1000, tz=timezone.utc)
    payload = decode_redis_hash(payload)
    # data, timestamp = payload
    # result_data = json.loads(data)
    # created_at = datetime.fromtimestamp(timestamp, tz=timezone.utc)
    serializer = resolve_serializer(serializer)
    return_value = payload.get('return_value')
    if return_value is not None:
        return_value = serializer.loads(b64decode(return_value.decode()))
    exc_string = payload.get('exc_string')
    if exc_string:
        exc_string = zlib.decompress(b64decode(exc_string)).decode()
    return Result(
        job_id,
        Result.Type(int(payload['type'])),
        connection=connection,
        id=result_id,
        created_at=created_at,
        return_value=return_value,
        exc_string=exc_string,
    )