我正在使用stale?
方法在我的JSON API中执行条件GET缓存。
我用
@post = Post.find(params[:post_id])
if stale? @post
#continue
end
AFAIK这使用post的updated_at来创建缓存键。有没有什么办法可以在没有post.touch的情况下使这个项目的缓存条目到期?我正在使用Heroku。
答案 0 :(得分:1)
在config / initializers中创建一个名为bust_cache.rb的文件,其中包含以下内容:
ENV["RAILS_CACHE_ID"] = 'version1'
如果您将来再次破坏缓存,请将值更改为“version2”等。如果您希望在每次部署时使用缓存:
ENV["RAILS_CACHE_ID"] = Time.now.to_s
***请注意,最后一个策略不适用于Heroku上的多个dynos或其他类似的情况