【问题标题】:Varnish 3.0.3 req.hash_always_miss vs VaryVarnish 3.0.3 req.hash_always_miss vs Vary
【发布时间】:2012-11-16 05:18:30
【问题描述】:

我正在尝试构建一个可以根据特定系统的需要清除和重新生成 URL 的系统。当系统通过哈希定位对象但由于我没有“清除”而错过了变体时,我之前遇到了清除问题;在我的 vcl_miss 中(仅在我的 vcl_hit 中,一些指南/示例 vcl 文件没有提到这个需求,但主要文档有 here)。

我想弄清楚是否需要为 REGEN 调用做类似的事情。据我了解,“设置 req.hash_always_miss = true;”将意味着丢失了旧的哈希并生成了一个新的哈希对象。后续调用会找到新的哈希值,但如果缓存中没有合适的变体,可能仍会丢失该对象。

谁能帮我确认下一个缺少新对象中的变体的后续请求是否会直接导致缓存未命中和获取,而不是从前一个对象中找到任何变体?

【问题讨论】:

    标签: hash varnish purge


    【解决方案1】:

    hash_always_miss 只会影响当前/正在进行的请求和它替换的缓存内容。总是会发生提取,并且对象将使用与任何其他未命中/提取序列相同的规则放入缓存中。

    相同哈希的“旧”其他变体仍然是有效对象,并将提供给客户端,指示与不同标头匹配的请求标头。

    hash_always_miss 将替换当前变体,仅此而已。

    要回答你的问题,你句子的第二部分是最正确的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-28
      • 1970-01-01
      • 1970-01-01
      • 2019-02-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多