我正在使用youtube_it gem来使用youtube API。而且这个gem使用Faraday gem作为适配器,而不是直接使用Net :: http。正如您已经知道做出这样的远程请求需要至少几秒钟?既然我没有直接访问 Net :: http 库,我将如何在我的应用程序中实现缓存?以下是从youtube上获取视频的示例请求。
#Authentication
$ @client = YouTubeIt::OAuth2Client.new(client_access_token: "access_token", client_refresh_token: "refresh_token", client_id: "client_id", client_secret: "client_secret", dev_key: "dev_key", expires_at: "expiration time")
#Request
@videos= @client.videos_by(:query => "penguin").videos #=>returns array of videos
答案 0 :(得分:0)
您可以使用Memcache执行此操作,键入查询和企鹅的组合。你必须自己做更多的工作,但我发现通常我更好地编写自己的缓存,因为当你过早开启时,缓存会导致大量的错误。
以下是您的代码可能会执行的操作:
一个简单的问题:你有没有理由让@client成为一个实例变量?您可能正在控制器中执行此操作,并且在视图中不需要此操作,因此作为一般原则,您应该限制视图可用的范围。