【问题标题】:How does cache_digests verify whether a model has changed?cache_digests 如何验证模型是否已更改?
【发布时间】:2013-05-17 18:11:17
【问题描述】:

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

我的问题是,Rails 如何知道模型是否已更新,因此需要使缓存无效?似乎 Rails 需要以某种方式访问​​这些模型,以确定它们生成的哈希是否与缓存中已经存在的不同。如果您需要加载模型进行检查,那么您从缓存中获得的价值很少.. 显然我遗漏了一些东西.. 你能帮忙吗?

【问题讨论】:

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


    【解决方案1】:

    As the docs say:

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

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

    【讨论】:

      猜你喜欢
      • 2018-04-17
      • 1970-01-01
      • 1970-01-01
      • 2023-04-07
      • 1970-01-01
      • 2011-08-09
      • 2018-02-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多