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

标签 sql ruby-on-rails caching

我有三个表 - 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.

在其中一个 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/

相关文章:

sql - 在预期条件的上下文中指定的非 bool 类型的表达式,接近 '@orderwhere'

sql - 在 SQL 中添加计算列

ruby-on-rails - 我的/public 目录可以是带有 rails 3 + 乘客 3 + nginx 0.8 的符号链接(symbolic link)吗?

ruby-on-rails - 如何在I18n语言环境中执行插值?

performance - 是否可以使用 CompUnit 模块收集数据?

php - "Refresh cache"在 Magento 中是什么意思?

php - 我需要 mysql 表中最接近的较小值

sql - Spring 数据 JPA。选择所有包含标签的帖子

ruby-on-rails - Ruby on Rails : models, 迁移和概览

iOS - 在本地保存图像的最佳实践 - NSCache 与保存在文档目录中