class Redis::Client

def ensure_connected

def ensure_connected
  connect unless connected?
  begin
    yield
  rescue Errno::ECONNRESET, Errno::EPIPE, Errno::ECONNABORTED, Errno::EBADF
    if reconnect
      yield
    else
      raise Errno::ECONNRESET
    end
  rescue Exception
    disconnect
    raise
  end
end