【问题标题】:Rails asset pipeline, domain sharding, and cachingRails 资产管道、域分片和缓存
【发布时间】:2012-08-29 08:58:18
【问题描述】:

我有一个问题,我似乎找不到明确的答案,我希望有人能帮我解决。

使用 Rails 3.2 资产管道,并通过将 config.action_controller.asset_host 设置为 "http://foo%d.example.com" 来启用域分片,Rails 将始终为 HTML 文件中包含的每个资产使用相同的主机,还是只会随机选择一个?

我担心的是,如果资产主机是随机选择的,如果用户之前从不同的资产主机下载了资产,他们将不得不重新下载他们可能已经在浏览器缓存中拥有的资产。

任何人都可以对此有所了解吗?或者至少澄清我对这个主题可能有的任何困惑。谢谢!

【问题讨论】:

    标签: ruby-on-rails caching asset-pipeline


    【解决方案1】:

    密钥line

    (host =~ /%d/) ? host % (Zlib.crc32(source) % 4) : host
    

    其中 source 是资产的完整路径(即类似“/assets/application-123456789012345678.css”)

    因此,任何单个文件都将始终路由到同一主机,因为该编号基于路径的校验和。

    【讨论】:

      猜你喜欢
      • 2011-10-04
      • 1970-01-01
      • 2013-04-01
      • 2012-04-17
      • 2011-12-15
      • 1970-01-01
      • 2013-05-19
      • 2011-12-01
      • 1970-01-01
      相关资源
      最近更新 更多