我有一个循环,通过并更新我的记录基于远程记录。所以我最终通过一个名为symbol
的两个char字符串键来选择一些19
对象的子集。我想要做的是减少Postgres调用一次的.all
,并在需要时继续使用find_by_symbol
语法来获取它。在ActiveRecord中有一种方法可以缓存`.all`,以便`.find_by`可以使用它?
0
A
回答
1
另外,你可以建立一个哈希查找并自己处理“缓存”。
Hash[Object.all.map{|object| [object.symbol, object]}]
0
一旦你与all
它成为一个Ruby对象,而不是一个范围获取数据,所以你需要使用的方法从可枚举去取:如果这是类似于
Example.all.find { |r| r.symbol == 'example' }
:
Example.find_by(symbol: 'example')
同样:
# Ruby Array
Example.all.select(symbol: 'example')
# ActiveRecord scope
Example.where(symbol: 'example')
显然,您可以缓存Example.all
的结果并针对它运行方法,而不是每次都重新加载。
相关问题
- 1. 有没有一种方法可以在Polymer.js中使用Slick-Carousel?
- 2. 哪种方法可以使用ActiveRecord停用用户帐户?
- 3. 我可以注释一个方法在Spring中可缓存吗?
- 4. 缓存包含或必需的文件,以便它可以反复使用?
- 5. 有没有一种方法可以在Linux上使用C++
- 6. 是否存在更多pythonic方法来存储参数,以便可以在函数调用中使用它们?
- 7. 有没有一种方法可以一次使用Sequelize
- 8. 使javascripts通用,以便它可以应用于所有图像
- 9. 有没有一种方法可以定义一个全局变量,它可以从类方法访问?
- 10. 转换时间,以便它可以在整数中使用
- 11. 有没有一种方法可以识别什么是缓存特定文件?
- 12. 有没有一种方法可以使用书签排序gmail?
- 13. 有没有一种方法可以保存JavaScript DOM操作?
- 14. 有没有一种方法可以使动作在Selenium IDE中可选?
- 15. 有没有一种方法可以在Django模板中使块可选
- 16. 有没有一种方法可以在Mongoose中进行投影?
- 17. 有没有一种方法可以在模拟中配置Gatling?
- 18. 有没有一种方法可以在python中输入文字?
- 19. 有没有一种方法可以在直播网站上使用drawWindow()方法?
- 20. 有没有一种很好的方法来抽象GUI,以便SWT或Swing可以使用?
- 21. 将虚拟方法添加到超类中以便子类可以覆盖它是一种好的做法吗?
- 22. 是否可以编辑以下代码,以便执行第二种方法?
- 23. 有没有一种方法可以在gmail中隐藏图像以便构建HTML响应的电子邮件?
- 24. 我可以保存NetBeans项目的状态,以便我可以恢复它吗?
- 25. 编译一个C库,以便它可以在iPhone静态库中使用
- 26. 在xml注释中,我可以标记方法名称,以便它们可以重构吗?
- 27. 将方法作为参数传递,以便以后可以调用该方法?
- 28. 有没有一种方法可以将Java中的URL缩短方便地存储到数据库中
- 29. 有没有一种方法可以在std :: experimental :: future中使用std :: async?
- 30. 有没有一种方法可以在使用swift的alertview中提供验证?