rails memcache development cache ruby-on-rails caching controller

ruby-on-rails - memcache - rails etag



Almacenamiento en memoria caché de acciones de rails con parámetros de cadena de consulta (3)

En este caso, debe usar el almacenamiento en memoria caché de fragmentos:

en tu controlador:

cache(params[:max_price], :expires_in => 10.minute) do # get the result end

¿Cómo puedo almacenar en caché mi controlador REST con Rails donde mis acciones tienen parámetros de cadena de consulta?

Example: GET /products/all.xml?max_price=200

¡Gracias!


Para usar la url de solicitud como clave de caché, hago algo como esto:

caches_action :index, :cache_path => Proc.new {|c| c.request.url }


Si desea almacenar en caché una acción, según todos los parámetros de consulta (o decir en casi todos), puede hacer:

caches_action :my_action, :cache_path => Proc.new { |c| c.params }

O bien, tal vez desee todos los parámetros que acaba de utilizar para Analytics (pero que no tienen relación con los registros que está obteniendo):

caches_action :my_action, :cache_path => Proc.new { |c| c.params.delete_if { |k,v| k.starts_with?(''utm_'') } }