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

How to cache sql queries, the result of which never change?

我有三个 tables - CountriesUSRegionsRegions。对于不同的国家,Regions 拥有该国领土的特定行政区划。对于美国,这些是 50 个州和华盛顿,D.C.. 所以再次:

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.

在其中一个视图中,我有一个表单,用户可以在其中 select 某些美国地区和某些州。因此,为了显示这些名称,我对数据库进行了两次调用。一个包含 USRegions table 的所有行,一个包含 country_id = USA.idRegions table 的所有行。问题是——这些调用的结果总是相同的(除非有新的状态,这不太可能,尽管 possible)。那么有没有一种方法可以缓存这些调用,如果是的话 - 如何以及在哪里?

如果

Rails 再次遇到相同的查询,它会自动缓存 SQL 查询。这是对此的参考 link。 SQL Caching. If still you want to cache it then you can use Low Level Caching。使用基于密钥的缓存就可以完成工作。