Как удалить ключи в memcached с помощью регулярных выражений (используя Dalli+RoR).

Как удалить ключи в memcached с помощью регулярных выражений (используя Dalli+Rails)

  def expire_all
   expire_fragment(Regexp.new("/customers/customers"))
   expire_fragment(Regexp.new("/customers/customers\/"))
   expire_fragment(Regexp.new("/agreements/agreements"))
   expire_fragment(Regexp.new("/agreements/agreements\/"))
  end

Не работает с memcached. Есть идеи?

2 ответа

Решение

Установить gem dalli-store-extensions https://github.com/defconomicron/dalli-store-extensions

В подметальной машине

expire_fragment /#{Regexp.escape(restaurant.id)}\/stocks*/

Memcached не может перебирать свои ключи, поэтому срок действия регулярного выражения не будет работать. Смотрите документы.

Взгляните на это для возможного обходного пути, хотя это трудоемкий.

Другие вопросы по тегам