我有三个表 - Countries
、USRegions
和 Regions
。对于不同的国家,Regions
拥有该国家领土的特定行政区划。对于美国来说,这些是 50 个州和华盛顿特区。再说一遍:
Countries - USA, Germany, Japan etc.
USRegions - Pacific, Middle Atlantic, South Atlantic (a total of 9 rows)
Regions - Virginia, Texas etc., but also similar divisions for other countries, like regional cities for Poland etc.
在其中一个 View 中,我有一个表单,用户可以在其中选择某些美国地区和某些州。因此,为了显示这些名称,我对数据库进行了两次调用。一张将所有行添加到 USRegions
表中,另一张将所有带有 country_id = USA.id
的行添加到 Regions
表中。问题是 - 这些调用的结果将始终相同(除非有新的状态,尽管 possible ,但这不太可能)。那么有没有办法缓存这些调用,如果有的话,如何以及在哪里?
最佳答案
如果再次遇到相同的查询,Rails 会自动缓存 SQL 查询。这是此内容的引用链接。 SQL Caching 。如果您仍然想缓存它,那么您可以使用 Low Level Caching 。使用基于 key 的缓存就可以完成这项工作。
关于sql - 如何缓存sql查询,其结果永远不会改变?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28364198/