heroku / memcached和dalli的奇怪缓存问题

时间:2011-08-19 14:19:52

标签: ruby-on-rails heroku memcached

请考虑以下事项。从我的heroku控制台:

>> Rails.cache.stats
=> {"server_id"=>{"evictions"=>"0", "curr_items"=>"2064", "total_items"=>"18793", "bytes"=>"7674501", ...
>> Rails.cache.clear
=> [true]
>> Rails.cache.stats
=> {"server_id"=>{"evictions"=>"0", "curr_items"=>"2064", "total_items"=>"18793", "bytes"=>"7674501",

超级怪异 - 如何清除缓存!!


类似的问题? :https://stackoverflow.com/q/7122513/192791

2 个答案:

答案 0 :(得分:3)

如果通过控制台直接连接到Dalli / memcahced客户端,则flush_all将清除缓存。

dc = Dalli::Client.new('localhost:11211')
dc.flush_all

注意:统计数据需要一段时间才能更新,但缓存肯定会清除。

答案 1 :(得分:1)

http://devcenter.heroku.com/articles/building-a-rails-3-application-with-the-memcache-addon处的到期缓存部分建议使用过滤器

after_save    :expire_contact_all_cache
after_destroy :expire_contact_all_cache

def expire_contact_all_cache
  Rails.cache.delete('Contact.all')
end