ruby-on-rails - 什么是每次请求都调用 API 的替代方法
问题描述
我正在使用以下方法调用 Google Drive API 并从我的 Drive 帐户中提取一堆文件名。这个方法目前在每个请求上都运行,这显然一点都不好。防止这种情况并加快应用程序的最佳选择是什么?
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
我在表单下拉列表中使用该文件名数组。
解决方案
多久get_all_scripts
运行一次?如果非常频繁,您可以查看 Google Drive手表通知。这将向您发送一条消息,让您知道 Google Drive 端发生了一些变化。您现在可以缓存来自 api 请求的结果,并且每次从 watch api 收到通知时,您都会使缓存无效,以便在下一次请求时重新下载。
推荐阅读
- c# - 'Cannot access a disposed object. A common cause of this error is disposing a context that was resolved from dependency injection
- ios - 视图和超级视图自动布局的比例高度
- ruby - 将内容列出到 Ruby 变量中
- git - 带有 git 标头的 CLOC diff(代码行数)
- wordpress - wordpress 插件安装期间更新失败
- emacs - tmux:如何获取按键的表达式(用于配置文件)?
- android-studio-3.0 - Android Studio 3.2 logcat "SHOW ONLY SELECTED APPLICATION" 不再是默认设置
- javascript - 嵌套组件未正确重新渲染:VueJs
- bash - 从文件中获取键值的 Bash 脚本
- javascript - 自 2018 年 9 月 28 日起,Chrome 和 Firefox 中是否已弃用同步 ajax 调用?