class ZuoraConnect::AppInstanceBase

def data_lookup(session: {})

def data_lookup(session: {})
  if defined?(Redis.current)
    begin
      redis_get_command ||= 0
      cached_instance = Redis.current.get("AppInstance:#{self.id}")
    rescue *(ZuoraAPI::Login::CONNECTION_EXCEPTIONS + ZuoraAPI::Login::CONNECTION_READ_EXCEPTIONS) => ex
      if (redis_get_command += 1) < 3
        retry
      else
        raise
      end
    end
    if cached_instance.blank?
      ZuoraConnect.logger.debug("Cached AppInstance Missing", self.default_ougai_items)
      return session
    else
      ZuoraConnect.logger.debug("Cached AppInstance Found", self.default_ougai_items)
      return decrypt_data(data: cached_instance, rescue_return: session).merge(session)
    end
  else
    return session
  end
end