Maneira mais fácil de desativar temporariamente o cache de verniz (varnishadm)

Maneira mais fácil de desativar temporariamente o cache de verniz (varnishadm)

Qual é a maneira mais fácil de saber o verniz:

Olá, processos do Varnish, limpe seu cache. E também, por favor, não armazene nada em cache agora. Quero que você passe todas as solicitações diretamente para o back-end por enquanto. Avisarei quando quiser que você volte à operação normal daqui a pouco.

Estou depurando e iterando em um site, mas estou cansado de limpar constantemente meu cache com este comando entre cada alteração e nova solicitação.

varnishadm 'ban req.url ~ "."'

Além disso, esta é uma configuração de verniz bastante complexa que possui muitos back-ends para muitos sites e domínios distintos.

Eu só quero o comando mais simples que dirá ao verniz para forçar temporariamente todas as solicitações para o back-end.

# this command does not exist
varnishadm 'caching-pause req.url ~ "."'

E o comando simples correspondente para restaurar o verniz de volta à operação normal.

# this command also does not exist
varnishadm 'caching-resume req.url ~ "."'

Existe alguma maneira fácil de dizer ao verniz para parar temporariamente de armazenar tudo em cache?

Responder1

Certifique-se de que o seguinte código VCL esteja em /etc/varnish/no-cache.vcl:

vcl 4.0;

backend default {
    .host = "your-host";
    .port = "your-port";
}

sub vcl_recv {
    return(pass);
}

Em seguida, carregue a VCL da seguinte maneira:

varnishadm vcl.load nocache /etc/varnish/no-cache.vcl

Sempre que quiser que o Varnish ignore o cache, execute o seguinte comando:

varnishadm vcl.use nocache

Se você quiser voltar às operações normais e sua VCL regular for nomeada boot, basta usar o seguinte comando:

varnishadm vcl.use boot

Você pode usar varnishadm vcl.listpara ver a lista de arquivos VCL carregados e qual deles está ativo.

informação relacionada