cache_digests如何验证模型是否已更改?

时间:2013-05-17 18:11:18

标签: ruby-on-rails ruby-on-rails-4

我的理解(并纠正我,如果我错了)是在新的cache_digests gem中,模板片段的缓存键是从模板本身的md5哈希,模板依赖项和模型时间戳的组合创建的。 / p>

我的问题是,Rails如何知道模型是否已更新,因此缓存需要失效?似乎Rails需要以某种方式访问​​这些模型,以确定它们生成的哈希值是否与缓存中已有的哈希值不同。如果需要加载要检查的模型,则从缓存中获得的价值很小..显然我错过了什么......你能帮忙吗?

1 个答案:

答案 0 :(得分:0)

As the docs say

  

请注意,如果启用了应用程序缓存,则在重新启动应用程序之前不会重新计算模板摘要,并且每当更改模板代码时都必须重新启动应用程序。

重新启动应用后,对具有较旧MD5哈希的片段的调用将失败,从而导致缓存重新加载更新版本。