So speichern Sie eine Abfrage in Ruby on Rails 3

8

Ich habe die folgende Abfrage in meiner Anwendung

%Vor%

Diese Abfrage wird in jeder Seitenansicht geladen, da die Kategorien auf jeder Seite angezeigt werden. Dies erscheint mir chaotisch, da die Liste der Kategorien nicht so oft aktualisiert wird. Gibt es eine nette Möglichkeit, nur die Abfrage zwischenzuspeichern? Ich habe es versucht

%Vor%

Ich sehe aber immer noch, dass die Abfrage jedes Mal aus der Datenbank in das Entwicklungsprotokoll geladen wird.

    
Jason Yost 18.04.2011, 22:53
quelle

2 Antworten

18

In Ihrem Controller können Sie Folgendes ausprobieren:

%Vor%

Dies wird nur gelesen, um zu sehen, ob die folgenden Datenblockkategorien zwischengespeichert und nicht abgelaufen sind. Wenn das Zertifikat nach 24 Stunden abgelaufen ist, fragt es das Modell ab und schreibt den neuen Datensatz in den Rails-Cache.

Für weitere Informationen folgte ich dem folgenden Handbuch .

Probieren Sie es aus. Ich habe es so gemacht. Hoffe das hilft.

    
Christian Fazzini 19.04.2011 05:30
quelle
4

Sie können das Fragment-Caching für den Teil Ihrer Ansichtsvorlage verwenden, der die Kategorien anzeigt. Dies bedeutet, dass die Kategorien aus dem Cache-Speicher bereitgestellt werden und die Abfrage nur einmal ausgeführt wird, bis der Cache abgelaufen ist (mithilfe der expire_fragment -Methode).

John Topley 19.04.2011 10:22
quelle