code: def redis_client(address=None, connection_pool=None, timeout=None,
                   parser=None, **kwargs):
      '''Get a new redis client.
  
      :param address: a ``host``, ``port`` tuple.
      :param connection_pool: optional connection pool.
      :param timeout: socket timeout.
      :param timeout: socket timeout.
      '''
      if not connection_pool:
          if timeout == 0:
              if not async:
                  raise ImportError('Asynchronous connection requires async '
                                    'bindings installed.')
              return async.pool.redis(address, **kwargs)
          else:
              kwargs['socket_timeout'] = timeout
              return Redis(address[0], address[1], **kwargs)
      else:
          return Redis(connection_pool=connection_poolf redis_client(address=None, connection_pool=None, timeout=None,
                   parser=None, **kwargs):
      '''Get a new redis client.
  
      :param address: a ``host``, ``port`` tuple.
      :param connection_pool: optional connection pool.
      :param timeout: socket timeout.
      :param timeout: socket timeout.
      '''
      if not connection_pool:
          if timeout == 0:
              if not async:
                  raise ImportError('Asynchronous connection requires async '
                                    'bindings installed.')
              return async.pool.redis(address, **kwargs)
          else:
              kwargs['socket_timeout'] = timeout
              return Redis(address[0], address[1], **kwargs)
      else:
          return Redis(connection_pool=connection_pool)
docs: Get a new redis client.
  
      :param address: a ``host``, ``port`` tuple.
      :param connection_pool: optional connection pool.
      :param timeout: socket timeout.
      :param timeout: socket timeout.