Come alla cache di rendering: JSON
-
26-09-2019 - |
Domanda
Ho un indice di controller di azione che restituisce JSON uscita.
render :json => my_array.to_json
Che tipo di caching devo usare qui. 'Page caching' ha senso per questo.
O devo fare azione di caching come qui di seguito
caches_action :index
Soluzione
In ogni azione caching o il caching delle pagine avrebbe funzionato bene; caching delle pagine avrebbe il vantaggio di non chiamare la pila Rails, ma dipende dal fatto che è necessario controllare chi accede a tale feed JSON.
Sono un grande fan di utilizzare il caching delle pagine, se si può ottenere via con esso - ci sono un grande risparmio su risorse di sistema per essere avuto. :)
EDIT: Pagina ad esempio la memorizzazione nella cache, nel caso ci fosse alcuna confusione:
class SomeController < ApplicationController
caches_page :index
def index
render :json => my_array.to_json
end
end
Se non ho frainteso qualcosa, che dovrebbe essere tutto quello che devi fare.
Altri suggerimenti
Stesse considerazioni dovrebbe applicarsi a JSON come qualsiasi altra uscita. Se è necessario l'accesso ai dati di convalida per l'utente, quindi l'azione di caching è la strada da percorrere, in caso contrario il caching delle pagine dovrebbe andare bene.
Se i dati vengono modificati a causa di logica nella vostra app, quindi entrambe le forme di caching sono problematici e si sono meglio utilizzare qualcos'altro.