我正在开发 Rails 应用程序,并使用 Dalli 将缓存与 memcache 集成。我正在使用清扫器处理动作缓存和过期缓存。我的扫地机代码如下所示:
class BoardSweeper < ActionController::Caching::Sweeper
observe Board
def after_create(board)
expire_cache(board)
end
def expire_cache(board)
expire_action :controller => :boards, :action => :show, :id => "#{board.id}-#{board.title.parameterize}"
end
end
但我想使用正则表达式删除缓存,即我想匹配 url 并删除缓存,就像:
如果我的板显示网址是这样的:
"boards/1/likes-collection-of-branded-products.text/javascript"
"boards/1/likes-collection-of-branded-products.text/html"
然后我想使用以下表达式使缓存过期:
Rails.cache.delete_matched(/boards\/1.*/)
但根据memcache api doc,它不支持delete_matched方法。
我确信应该有一些基于正则表达式的删除方法。请帮忙。
非常感谢!!