Frage

Ich habe eine Controller -Indexaktion, die die JSON -Ausgabe zurückgibt.

render :json => my_array.to_json

Welche Art von Caching muss ich hier verwenden. Ist "Seite zwischengespeichert" Sinn dafür.

Oder muss ich Action wie unten wie unten durchführen

caches_action :index
War es hilfreich?

Lösung

Entweder Aktionen zwischengespeichert oder das Seiten zwischen Seiten würde gut funktionieren. Page Caching hätte den Vorteil, dass Sie den Rails Stack nie anrufen, aber es hängt davon ab, ob Sie steuern müssen, wer auf diesen JSON -Feed zugreift.

Ich bin ein großer Fan von Page Caching, wenn Sie damit durchkommen können - es gibt große Einsparungen bei Systemressourcen. :)


Bearbeiten: Seite Caching -Beispiel, falls es Verwirrung gab:

class SomeController < ApplicationController
  caches_page :index
  def index
    render :json => my_array.to_json
  end
end

Wenn ich etwas nicht missverstanden habe, sollte das alles sein, was Sie tun müssen.

Andere Tipps

Gleiche Überlegungen sollten für JSON wie jede andere Ausgabe gelten. Wenn Sie den Zugriff auf die Daten für den Benutzer validieren müssen, ist das Action -Caching der richtige Weg, sonst sollte das Seiten zwischen Seite in Ordnung sein.

Wenn sich die Daten aufgrund der Logik in Ihrer App ändert, sind beide Formen des Caching problematisch und Sie sind besser damit, etwas anderes zu verwenden.

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