ruby-on-rails - Rails 缓存 ActiveRecord 结果

标签 ruby-on-rails ruby caching activerecord

我当前的主页显示了所有可用的类别以及每个类别的所有帖子数。这当然会影响网站的性能,我只是想知道是否可以缓存它?

我不介意缓存是否有点过时以及每次刷新时帖子的数量是否不是 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/

相关文章:

mysql - Rails 服务器在 OSX 10.73 中无法启动

ruby-on-rails - 在 rails activeadmin 中对 table_for 进行排序

ios - NSURLCache Alamofire 删除缓存响应

caching - 从 Twitter Streaming API 和 RESTful API 获取的数据是否需要缓存?

sql - 使用 ORM 进行大容量数据库更新

ruby-on-rails - 对多个数据库执行原始 sql

mysql - 查询两个用户之间的公共(public)组

ruby - ruby 如何找到 gem ?

ruby - $stdin.gets 和 gets 之间有什么区别吗?

ruby - 为什么 rubocop 的 Rails/FilePath cop 推荐 Rails.root.join