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
È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top