我有以下查询:
def home
@posts = Post.where(:isGroup => "public").order('created_at DESC').page(params[:page]).per(20)
end
我想缓存这个查询,除非一个新的 Post 被添加到 Post 模型中。
当我使用
expires_in 5.minutes, public: true
它缓存了整个操作,而不仅仅是查询(并且弄乱了整个页面,因为结果是无限滚动的开始,并且页面有登录)。
当我做:
cache "home_post", expires_in: 10.minutes do
@posts = Post.where(:isGroup => "public").order('created_at DESC').page(params[:page]).per(20)
end
它似乎没有显示任何性能改进,并且在添加新帖子时也不会更新。
缓存查询的最佳方法是什么?
谢谢你。