Рельсы.кэш.очистить некоторые ключевые имена?



можно ли как-то запустить Rails.cache.clear и только очистить ключи с определенным именем / строкой?



Я не хочу, чтобы очистить весь кэш...просто ключи со строкой blog/post в имя (т. е. blog/post/1,blog/post/2).



Я использую Далли С memcached для моего кэша и работает Rails 3.0.6.

572   3  

3 ответов:

это, как вы можете писать в кэш -

Rails.cache.write('key', 'value', :time_to_idle => 60.seconds, :timeToLive => 600.seconds)

а для удаления из кэша можно использовать delete действия -

Rails.cache.delete('key')

удалить несколько ключей -

Rails.cache.delete_if {|k, v| k =~ 'key' }

чтобы ответить на мой собственный question...it кажется, что учитывая, что я использую memcached, я на самом деле не могу использовать delete_if или delete_matched потому что memcached не поддерживает перечисление или запрос ключей по шаблону (1).

вы можете использовать https://github.com/Phobos98/dalli-delete-matched драгоценный камень, который добавляет простую реализацию delete_matched метод для магазина dalli с memcached.

Comments

    Ничего не найдено.