Rails.cache.clear某些键名称?

有没有可能以某种方式运行Rails.cache.clear ,只有清除具有特定名称/string的键?

我不想清除整个caching…只需键入string的blog/post名称(即blog/post/1blog/post/2 )。

我使用dalli与memcached为我的caching和运行Rails 3.0.6。

这是如何写入caching –

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

并为了从caching中删除,你可以使用delete操作 –

 Rails.cache.delete('key') 

删除多个键 –

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

回答我自己的问题…似乎给我使用memcached,我实际上不能使用delete_ifdelete_matched因为memcached不支持通过模式( 1 )枚举或查询键。

您可以使用https://github.com/Phobos98/dalli-delete- delete_matched gem,它为memcached添加了一个简单的用于dalli存储的delete_matched方法的实现。