我使用stale?
方法在我的JSON API中做条件GET缓存。
@post = Post.find(params[:post_id])
if stale? @post
#continue
end
AFAIK这使用post的updated_at来创建一个缓存键。是否有任何方法可以在不执行post.touch操作的情况下使该项目的缓存条目过期?我用的是Heroku
在config/initializer中创建一个名为bust_cache的文件。
ENV["RAILS_CACHE_ID"] = 'version1'
如果将来您希望再次中断缓存,请将值更改为'version2'等。如果您希望在每次部署时中断缓存,请使用:
ENV["RAILS_CACHE_ID"] = Time.now.to_s
***请注意,最后一个策略不适用于Heroku或其他类似情况下的多个dynos
感谢Nathan Kontny