ruby-on-rails - with - rails cache development
Rails.cache.clear ciertos nombres clave? (3)
¿Es posible de alguna manera ejecutar Rails.cache.clear
y solo borrar claves con un cierto nombre / cadena?
No quiero borrar todo el caché ... solo las claves con el string blog/post
en el nombre (es decir, blog/post/1
, blog/post/2
).
Estoy usando dalli con memcached para mi caché y ejecutando Rails 3.0.6.
Así es como puedes escribir en el caché -
Rails.cache.write(''key'', ''value'', :time_to_idle => 60.seconds, :timeToLive => 600.seconds)
y para eliminar de la memoria caché puede usar la acción delete
-
Rails.cache.delete(''key'')
Eliminar varias teclas -
Rails.cache.delete_if {|k, v| k =~ ''key'' }
Para responder a mi propia pregunta ... parece que dado que estoy usando memcached, en realidad no puedo usar delete_if
o delete_matched
porque memcached no admite enumerar o consultar claves por patrón ( 1 ).
Puede usar la gema https://github.com/Phobos98/dalli-delete-matched que agrega una implementación simple del método delete_matched
para dalli store con memcached.