除了使API调用每个请求之外,还有什么替代方法

时间:2018-10-06 04:53:56

标签: ruby-on-rails ruby

我正在使用以下方法来调用Google云端硬盘API,并从我的云端硬盘帐户中提取一堆文件名。该方法当前在每个请求上都运行,这显然是不好的。防止这种情况并加速应用程序的最佳替代方法是什么?

  def get_all_scripts
    arr = []
    session = GoogleDrive::Session.from_config("config.json")
    session.collection_by_title("Input Sheets").spreadsheets.each do |sheet|
     arr << sheet.title
    end
    arr
  end

我正在表单下拉列表中使用该文件名数组。

1 个答案:

答案 0 :(得分:1)

get_all_scripts多久运行一次?如果经常出现,您可以查看Google云端硬盘watch notifications。这会向您发送一条消息,通知您Google驱动器端发生了某些更改。现在,您可以缓存api请求的结果,并且每当从watch api收到通知时,缓存都会无效,因此下一个请求将重新下载该缓存。