我想在我的应用程序上实现低级缓存,但是我在文档后面遇到了一些麻烦。这就是他们的例子:
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
我的问题是:
我想如何获取变量 cache_key ?应该通过rails cache以某种方式给出,还是我应该预先构建密钥?
我不确定我是否清楚地了解这是如何工作的,确认这个逻辑是否正确:我在我的控制器上设置了这个例子以生成大量变量。然后每次请求变量时(例如从视图中),控制器而不是每次重新计算它(长查询)将检索预先制作的查询,以防密钥没有改变。如果密钥已更改,它将再次重新计算缓存块内的所有变量。
答案 0 :(得分:0)