Frage

environment.rb:

config.cache_store = :mem_cache_store, '127.0.0.1', { :namespace => RAILS_ENV.to_s }

development.rb:

config.action_controller.perform_caching  = true

Dies ist der Memcached ausgegeben wird, wenn ich die URL aufrufen.

get Entwicklung: views / 127.0.0.1: 3000 / aktionen.xml Senden wichtige Entwicklung: views / 127.0.0.1: 3000 / aktionen.xml END Satz Entwicklung: views / 127.0.0.1: 3000 / aktionen.xml 0 60 3 STORED

Controller

caches_action :index, :expires_in => 5.seconds, :layout => false, :format => :xml

Info

cache_pages produziert keine Memcached Aktivität überhaupt. Rails schreibt aktionen.xml in den öffentlichen Ordnern, auch expires_in und Formatparameter ignoriert. Der Aufruf 127.0.0.1:3000/aktionen erstellt eine aktionen.html Datei

War es hilfreich?

Lösung

Schienen (ab 2.1) bieten verschiedene Geschäfte für die zwischengespeicherten Daten durch Aktion und Fragment-Cache-Speicher erstellt. Seite Caches ist immer auf der Festplatte gespeichert werden.

Aktion Caching ist sehr ähnlich wie das Seiten-Caching, ist der einzige Unterschied, dass die Anforderung für die Seite immer die Schienen Server getroffen werden und die Filter immer ausgeführt wird. Zur Einrichtung Aktion unserer Controller des Caching könnte wie folgt aussehen:

class BlogController < ApplicationController
  layout 'base'
  before_filter :authenticate  # <--- Check out my authentication
  caches_action :list, :show

Weitere Informationen hier: http: / /railsenvy.com/2007/3/20/ruby-on-rails-caching-tutorial-part-2

Andere Tipps

Haben Sie versucht, den Ablauf zu etwas Upping größer als 5 Sekunden, nur um sicherzustellen, dass die Daten nicht abgelaufen ist, bevor Sie für seine Existenz testen kann?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top