【发布时间】:2021-07-23 13:26:36
【问题描述】:
如何在 Rails 中使用 Typhoeus gem 缓存 api 请求?经过 2 小时的尝试,我放弃了自己尝试。
我有以下代码:
hydra = Typhoeus::Hydra.new
requests = urls.map do |url|
request = Typhoeus::Request.new(url, followlocation: true)
hydra.queue(request)
request
end
hydra.run
他们的文档说“Typhoeus 包含对缓存的内置支持。在以下示例中,如果缓存命中,缓存的对象将传递给请求对象的 on_complete 处理程序。”
class Cache
def initialize
@memory = {}
end
def get(request)
@memory[request]
end
def set(request, response)
@memory[request] = response
end
end
Typhoeus::Config.cache = Cache.new
Typhoeus.get("www.example.com").cached?
#=> false
Typhoeus.get("www.example.com").cached?
#=> true
但我不明白将这段代码放在哪里。
【问题讨论】:
标签: ruby-on-rails api caching request