【问题标题】:Caching( optimizing) Strategy with API live stream on Rails在 Rails 上使用 API 直播的缓存(优化)策略
【发布时间】:2013-04-08 23:59:58
【问题描述】:
所以我建立了一个使用 Twitch.tv API 的网站,这是一个游戏直播网站。请求又长又慢,我想以某种方式缓存它。问题是有很多动态属性,如果他们还在线,或者有多少观众。由于目前我网站的流量很低,因此提前过期缓存不会有太大帮助。另外,我有一个页面,其中列出了所有直播流,并请求查看流是否在线。因此,即使没有人在线,加载仍然需要一段时间。有没有在不缓存的情况下更快地检索 api?
这里是twitch.tv api doc
【问题讨论】:
标签:
ruby-on-rails
api
caching
【解决方案1】:
由于您不拥有 Twitch.tv API,很遗憾我想说,您真的无法做任何事情来加快他们的调用速度。
好消息是你可以缓存你对他们的调用,这会让你的用户更快地看到事情。
缓存调用的方法是创建一个密钥,然后缓存来自 API 的返回 JSON。要创建密钥,我只需使用您为 API 调用的 URL。然后只需给缓存值几分钟的过期时间,当它过期时,您再调用一次 API 来重新填充缓存。
我还想看看 Varnish (https://www.varnish-cache.org/),它在很多 HTTP 缓存方面做得非常好。对你来说真的很好用,它有一个宽限期的概念,试图隐藏缓存过期时进行的昂贵调用。