Ruby on rails 缓存。浏览器与Rails缓存

Ruby on rails 缓存。浏览器与Rails缓存,ruby-on-rails,caching,Ruby On Rails,Caching,我正在阅读文档,发现了以下代码: class Product < ActiveRecord::Base def competing_price Rails.cache.fetch("#{cache_key}/competing_price", expires_in: 12.hours) do Competitor::API.find_price(id) end end end 类产品

我正在阅读文档,发现了以下代码:

class Product < ActiveRecord::Base
  def competing_price
    Rails.cache.fetch("#{cache_key}/competing_price", expires_in: 12.hours) do
      Competitor::API.find_price(id)
    end
  end
end
类产品
这应该是低级缓存(缓存值或查询结果)的一个示例。所以我假设这个缓存发生在服务器端。12小时后到期。因此,无论何时调用竞争价格,无论是来自API用户还是内部使用,缓存结果都是从服务器端交付的,并且该缓存存在于实际的Rails应用程序中,对吗


浏览器端存储了哪些内容?Chrome在缓存中实际存储了什么?Javascript文件?HTML文件?图像

在Akamai这样的代理服务器上呢?

  • 服务器应该缓存在给定时间段内不会真正改变的要加载/计算的内容。(显示产品的页面,例如,静态页眉/页脚、每X分钟重新计算的统计信息等)

  • 浏览器应该缓存服务器收到的在一段时间内不会更改的内容(如横幅图像、Javascript文件、徽标等)


“Javascript文件?HTML文件?图像?”-是的,您的应用程序提供的所有文件/内容都可以(很可能会)通过浏览器缓存(或者通过代理/代理缓存)。问题是什么?服务器缓存和浏览器缓存有什么不同?它们的用法不同吗?每个数据库中通常存储什么?服务器应该缓存在给定时间段内不会真正改变的要加载/计算的内容(比如Stackoverflow的声誉排名,用户每次进入排名页面时都不会计算)。浏览器应该缓存服务器接收到的在一段时间内不会更改的内容(如横幅图像、Javascript文件、徽标等)。@Yoshiji先生想回答这个问题吗?