次のクエリがあります。
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
パフォーマンスの向上は見られず、新しい投稿が追加されても更新されません。
クエリをキャッシュする最良の方法は何ですか?
ありがとうございました。