在配置 Varnish 4 时,我对内部短路感兴趣vcl_recv
,但我不想跳过builtin.vcl (née default.vcl) VCL 逻辑。例如,给定这个 VCL 伪代码:
sub vcl_recv {
if (somecondition1) {
set some_thing;
return (hash); # Return from cache if present, or fetch from the backend
}
if (somecondition2) {
set some_other_thing;
return (hash); # Return from cache if present, or fetch from the backend
}
// ...
return (pass); # Skip cache, fetch from the backend
}
问题 1
如果我return
在每个可能的代码路径中调用,那么内置逻辑将被跳过,对吗?
问题2
有没有办法格式化类似于上面的代码,但不跳过 builtin.vcl 逻辑?我能看到的唯一方法是结合我的条件,将!
它们布尔化,然后移动return (pass);
巨人的内部if
。