我们在应用程序中已经缓存了一些块。Rails 4/Heroku智能到期缓存
根据某些登录,我们有时会修改其中的一些,在这种情况下,我们有一个逻辑会过期相关的块。
当我们在代码中执行更改时,我们需要通过控制台过期这些块。在这种情况下,我们需要检测并精确确定逻辑,以便过期所有修改的块。举例来说,如果我们改变封闭的流标头的HTML,它看起来像:
a = ActionController::Base.new
Stream.closed.each {|s| a.expire_fragment("stream_header_#{s.id}") }; nil
其实,我认为必须是一个更通用的方法简单地比较,应该如何呈现缓存块, 只会过期其html与其缓存版本不同的块。
我不知道是否有一个gem来完成这个任务,如果没有 - 如果有人已经写了一些部署钩子来做到这一点。
============== UPDATE ============
一些想法:
在rake任务能及得到缓存片段,只要你知道你有哪些片段。
例如,在我来说,我可以这样做:
a = ActionController::Base.new
Stream.each do |s|
cached_html = a.read_fragment("stream_header_#{s.id}")
:
:
如果我能产生非缓存HTML我可以简单地比较他们,并在到期时的缓存片段它们是不同的。
可能吗? 你觉得这个任务有多重?