开始API缓存

有人能指出我正确的技术与缓存API响应有关。

我已经通过许多现有的问题,指南,post,但某些关键因素不能正常工作。

模型

class Cleartrip include HTTParty debug_output $stdout base_uri "api.staging.cleartrip.com/air/1.0/search" headers 'X-CT-API-KEY' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxx' format :xml def self.get_flight(url) Rails.cache.fetch(url, :expires => 1.hour) do response = get(url) if response.success? response else raise response.message end end end end 

调节器

 @flight = Cleartrip.get_flight("?from=DEL&to=BLR&depart-date=2014-08-10&adults=1&children=0&infants=0") 

Development.rb

  config.cache_classes = false # Do not eager load code on boot. config.eager_load = false # Show full error reports and disable caching. config.consider_all_requests_local = true config.action_controller.perform_caching = true config.cache_store = :null_store 

而不是:null_store ,以前我有:memory ,我收到Type Error: Can't dump IO

即使使用当前的配置,在每次重新加载时它都会到达服务器并花费大量时间来显示结果。

需要做什么? 对于这个问题,哪种技术或gem负责缓存? 有许多航class搜索网站,如Google.com/flights或Cleartrip.com本身,结果呈现几乎是即时的。 你知道任何提示和技巧吗?

谢谢。

这应该做

 if response.success? response.parsed_response else