Hash 清漆3.0.3要求散列\u始终\u缺失vs变化

Hash 清漆3.0.3要求散列\u始终\u缺失vs变化,hash,varnish,purge,Hash,Varnish,Purge,我正在尝试构建一个系统,可以根据特定系统的需要清除和重新生成URL。以前,当系统通过哈希查找对象时,我遇到了清除问题,但由于没有“清除”,因此错过了变量;在我的vcl_未命中中(仅在我的vcl_命中中,一些指南/示例vcl文件没有提到这一需要,但主文档中提到了) 我想知道的是我是否需要为REGEN呼叫做类似的事情。根据我的理解,“set req.hash\u always\u miss=true;”将意味着丢失旧的hash并生成新的hash对象。后续调用将找到新的散列,但如果缓存中没有合适的变量

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

我想知道的是我是否需要为REGEN呼叫做类似的事情。根据我的理解,“set req.hash\u always\u miss=true;”将意味着丢失旧的hash并生成新的hash对象。后续调用将找到新的散列,但如果缓存中没有合适的变量,则仍可能丢失该对象


有人能帮我确认一下,在新对象中丢失变量的后续请求是否会直接导致缓存未命中和获取,而不是从以前的对象中找到任何变量?

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

同一散列的“旧”其他变体仍然是有效的对象,将被提供给客户机,指示与不同的头匹配的请求头

hash_always_miss将替换当前变量,而不会替换其他变量

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