我当前的主页显示了所有可用的类别以及每个类别的所有帖子数。这当然会影响网站的性能,我只是想知道是否可以缓存它?
我不介意缓存是否有点过时以及每次刷新时帖子的数量是否不是 100% 准确,但我希望它仅每 30 分钟左右进行一次查询。
最佳答案
在 Rails 中,您几乎可以缓存所有内容。
您可以缓存部分或查询。您也可以手动使它们过期。
例如
cache('categorylist') do
render partial: 'such'
end
并且在 post.rb
模型中,在每次创建帖子后,重置它并强制它在下一次运行时评估
after_create {
Rails.cache.delete('categorylist')
}
这样,只有在创建新帖子时才会评估您的部分内容(并写入缓存)。所有其他时间,它将从缓存中获取。
关于ruby-on-rails - Rails 缓存 ActiveRecord 结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41318068/