Pregunta

environment.rb:

config.cache_store = :mem_cache_store, '127.0.0.1', { :namespace => RAILS_ENV.to_s }

development.rb:

config.action_controller.perform_caching  = true

Esta es la salida de memcached cuando llamo a la url.

obtener desarrollo: views / 127.0.0.1: 3000 / aktionen.xml enviando desarrollo de clave: views / 127.0.0.1: 3000 / aktionen.xml END desarrollo de conjuntos: views / 127.0.0.1: 3000 / aktionen.xml 0 60 3 ALMACENADO

Controlador

caches_action :index, :expires_in => 5.seconds, :layout => false, :format => :xml

Info

cache_pages no produce ninguna actividad de memcached. Rails escribe aktionen.xml en la carpeta pública, y también ignora los parámetros expires_in y format. Llamar a 127.0.0.1:3000/aktionen crea un archivo aktionen.html

¿Fue útil?

Solución

Rails (a partir de 2.1) proporciona diferentes almacenes para los datos en caché creados por acciones y fragmentos de caché. Los cachés de página siempre se almacenan en el disco.

El almacenamiento en caché de acciones es MUY similar al almacenamiento en caché de la página, la única diferencia es que la solicitud de la página siempre afectará a su servidor de rieles y sus filtros siempre se ejecutarán. Para configurar el almacenamiento en caché de acciones, nuestro controlador podría tener este aspecto:

class BlogController < ApplicationController
  layout 'base'
  before_filter :authenticate  # <--- Check out my authentication
  caches_action :list, :show

Más información aquí: http: / /railsenvy.com/2007/3/20/ruby-on-rails-caching-tutorial-part-2

Otros consejos

¿Ha intentado aumentar la caducidad a algo más de 5 segundos, solo para asegurarse de que los datos no hayan caducado antes de poder comprobar su existencia?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top