Auf meiner Startseite cache ich aktuell meinen Willkommenstext für drei Stunden weil er Abfragen an eine Wetter API enthält, damit ich das jeweilige Wetter in Berlin in den Text einbauen kann. Ich möchte die API aber aus Performance und Kostengründen nicht bei jedem Load abfragen, Wetter ist ja im Allgemeinen auch über ein paar Stunden beständig.
- cache ["application_home_weather"], expires_in: 3.hours, skip_digest: true do
...
Um auf der Production-Umgebung memcached zu nutzen, muss folgende Config in der production.rb gesetzt sein:
config.action_controller.perform_caching = true
config.cache_store = :mem_cache_store
Ganz wichtig ist außerdem das Gem dalli im Gemfile, damit die App mit memcached kommunizieren kann.
group :production do
gem "dalli"
end
Und natürlich muss auch memcached installiert werden, "apt-get install memcached". Nun wird nach drei Stunden ein aktueller Wetterstatus von der Wetter API geholt.