我有一个我想要显示总计的集合,并且想法是为我需要的每个总计使用缓存。不过,我也需要深入研究数据集。所以最有可能的是我将不得不加载收藏。那么我还应该使用缓存还是只使用计算?Rails计数器缓存与计算
4
A
回答
3
答案取决于集合的大小。如果集合非常大(1000或物品),那么缓存可能是一个好主意。如果它只有少数几个,并且你在表上有索引以快速找到相关的行,那么缓存可能不是必需的,特别是如果你必须钻取集合。
正如所有这些类型的问题一样,正确的答案通常是“取决于”。这很大程度上取决于您的要求和数据等。
3
正如Stephen ODonnell所说,“...取决于收集的大小。”但是,您还需要考虑每页将执行此计算的次数。例如,如果您正在创建博客应用程序,并且帖子/索引页面显示10条博客帖子,每篇博文的底部都有“155条评论”,那么通过使用计数器缓存可以避免很多数据库调用。
我建议只用活动记录搜索来尝试它,但添加“包含”选项。假定Post#123有50条评论。
p = Post.find_by_id(123)
p.comments.each do {|c| puts c } #Do something meaningful instead...
将生成51个数据库调用,其中1个用于Post,每个评论用1个。相反,你可以这样做:
Post.find_by_id(123, :include => [:comments])
现在,它会自动查询的意见,当你搜索后,倒塌51个查询到1
相关问题
- 1. Rails计数器缓存
- 2. Rails缓存计数器
- 3. 缓存与重新计算
- 4. Redis和Rails计数器缓存列
- 5. Rails计数器缓存及其实现
- 6. Ruby on Rails计数器缓存错误
- 7. 多个计数器缓存列与aasm
- 8. 计数器缓存更新
- 9. MongoDB缓存计数器
- 10. 计数器缓存和will_paginate
- 11. iPhone硬计算和缓存
- 12. 缓存和计算映射
- 13. 高速缓存计数器列不保存重新计算的值
- 14. 缓存数据与重新计算PHP中的数据
- 15. Linq2SQL计数缓存?
- 16. Ruby on Rails - 计数器缓存在生产上不起作用
- 17. Rails 4.1计数器缓存没有更新
- 18. 如何在Rails中实现计数器缓存?
- 19. Ruby/Rails计算
- 20. 120K记录的重新计算计数器缓存[轨道/ ActiveRecord的]
- 21. 访问ruby计数器缓存
- 22. 多态关系和计数器缓存
- 23. c# - 计算器 - 用浮点数计算
- 24. 缓存Rails 3模型中的复杂计算
- 25. 本地数据存储与科曼计算结构中的纹理缓存进行科学计算
- 26. Rails中的计时页面缓存
- 27. 计算和缓存文件夹大小
- 28. 如何计算缓存开销?
- 29. 如何在轨中缓存计算列?
- 30. 高速缓存计算值的方法
那么每个集合很可能是在1000更有可能的是50 -200行。我想我会先尝试最简单的方法! – Cameron 2009-08-05 13:38:10