如何缓存sql查询,其结果永远不会改变



我有三个表——CountriesUSRegionsRegions。对于不同的国家,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.

在其中一个视图中,我有一个表单,用户可以在其中选择某些美国地区和某些州。因此,为了显示这些名称,我对数据库进行了两次调用。一个具有到USRegions表的所有行,另一个具有从country_id = USA.idRegions表的所有行都。问题是,这些调用的结果总是一样的(除非有新的状态,这是非常不可能的,尽管可能)。那么,有没有一种方法可以缓存这些调用?如果有,如何缓存,在哪里缓存?

Rails如果再次遇到相同的查询,会自动缓存SQL查询。这是这方面的参考链接。SQL缓存。如果仍要缓存它,则可以使用"低级别缓存"。使用基于密钥的缓存,它可以完成工作。

最新更新