Rails.cache.clear某些键名称?
有没有可能以某种方式运行Rails.cache.clear
,只有清除具有特定名称/string的键?
我不想清除整个caching…只需键入string的blog/post
名称(即blog/post/1
, blog/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_if
或delete_matched
因为memcached不支持通过模式( 1 )枚举或查询键。
您可以使用https://github.com/Phobos98/dalli-delete- delete_matched
gem,它为memcached添加了一个简单的用于dalli存储的delete_matched
方法的实现。