我有这样的剧本。
Search_controller.rb :
def results
@users = @search.cached_users_count.page(params[:page]).per_page(10)
end
Search.rb 模型:
users = users.order('current_sign_in_at DESC')
def cached_users_count
Rails.cache.fetch(["user_count", expires_in: 5.minutes]) { users }
end
我想要做的是缓存所有查询,因为当执行搜索结果后某些用户将登录时,will_paginate 替换下一页上的结果 - 因为刚刚登录的用户位于第一个位置并且结果由 current_sign_in_at 更改
有人可以帮我吗?现在没有缓存,每个搜索结果都有 sql 响应。