Can someone point to me the correct technique wch relates to caching of API responses.
I have been thru lots of existing questions, guides, posts but somewhere some crucial element is not working right.
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")
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
Instead of :null_store, previously I had :memory_store and I received Type Error: Can't dump IO.
Even with the current configs, on every reload it hits the server and takes a lot of time to display the result.
What is it that needs to be done? Which technique or gem, for that matter, takes care of caching? There are many flight search sites, like Google.com/flights or Cleartrip.com itself, there rendering of results is almost instantaneous. Do you know of any tips and tricks?