在Rails上使用API​​实时流缓存(优化)策略

时间:2013-04-16 14:13:43

标签: ruby-on-rails api caching

所以我建立了一个使用Twitch.tv API的网站,这是一个游戏直播网站。请求很长很慢,我想以某种方式缓存它。问题是,如果它们仍然在线,或者有多少观众,则有很多动态属性。由于目前我网站的流量较低,因此提早到期缓存不会有太大帮助。此外,我有一个页面,其中列出了所有实时流,并请求查看流是否在线。因此,即使没有人在线,也需要一段时间才能加载。反正在没有缓存的情况下更快地检索api?

这里是twitch.tv api doc

1 个答案:

答案 0 :(得分:0)

由于您不拥有Twitch.tv API,遗憾的是我会说您无法更快地进行通话。

好消息是,您可以缓存您对其进行的通话,这会让您的用户看起来更快。

缓存调用的方法是创建一个密钥,然后从API缓存返回的JSON。要创建密钥,我只需使用您为API调用的URL。然后只需为缓存值提供几分钟的到期时间,当它到期时,您需要再次调用API来重新填充缓存。

另外,我会看一下Varnish(https://www.varnish-cache.org/),它可以很好地完成大量的HTTP缓存。可以很好地为你工作,它有一个宽限期的概念,试图隐藏缓存过期时进行的昂贵调用。