class Redis::Client

def ensure_connected

def ensure_connected
  tries = 0
  begin
    connect unless connected?
    tries += 1
    yield
  rescue ConnectionError
    disconnect
    if tries < 2 && @reconnect
      retry
    else
      raise
    end
  rescue Exception
    disconnect
    raise
  end
end