Sono davvero gratuiti. Etags/fresh_when ecc. Ti aiutano a giocare bene con le cache downstream (come le tue istanze Varnish/Squid o Rack :: Cache o la cache del browser oi server proxy ISP ...)
Il salvataggio nella cache delle pagine ti evita di colpire lo stack di binari interamente perché Apache/il tuo server web serve il file, quindi non vengono eseguite ricerche DB. Ma devi gestire la scadenza della cache per mantenere la cache aggiornata.
Utilizzando etags/GET condizionale, non si risparmia tempo di elaborazione molto in quanto è ancora necessario per ottenere tutti i record utilizzati nella pagina:
def show
@article = Article.find(params[:id])
@feature = Feature.current
fresh_when :etag => [@article, @feature]
end
nel caso in cui l'utente ha una pagina corrente , ti risparmia un po 'di tempo di rendering e la larghezza di banda necessaria per mandare giù la pagina.
Penso che tu intenda il caching della pagina. caches_page genererà file statici per il server web da servire direttamente. caches_action memorizzerà nella cache l'intero contenuto della pagina ma continuerà a passare attraverso il controller in modo che i filtri possano essere eseguiti, ecc. – kch
Esatto, grazie per l'avviso. – Ivan