Não, não há. O cache é projetado para "registrar" entradas automaticamente quando elas são acessadas pela primeira vez para acesso mais rápido posteriormente. Não há ganho de desempenho em entradas "pré-cache" como você está descrevendo.
Eu estou procurando uma maneira de atualizar automaticamente as entradas no meu cache se ele expirar.
Por exemplo, example.com tem um TTL de 60, gostaria de atualizá-lo automaticamente se ele expirar para que, quando os usuários consultarem example.com, uma nova versão já esteja no cache.
Isso é possível dentro do bind?
Obrigado!
Não, não há. O cache é projetado para "registrar" entradas automaticamente quando elas são acessadas pela primeira vez para acesso mais rápido posteriormente. Não há ganho de desempenho em entradas "pré-cache" como você está descrevendo.
BIND
suporta uma técnica chamada prefetch
. Usar a pré-busca BIND atualizará automaticamente as entradas que estão prestes a expirar. A seguir, a sintaxe da pré-busca.
sudo vim /etc/bind/named.conf.options
...
options {
...
prefetch 2 9;
};
...
Como você pode ver, isso tem dois números, o trigger
(aqui 2) e o eligibility
(aqui 9). Isso informa ao BIND para atualizar as entradas de DNS para todas as entradas cujo TTL inicial foi maior que 9 segundos, se o TTL restante ficar abaixo de 2 segundos.
Assim, ele não atualizará todas as entradas às cegas, em vez disso, só monitorará as entradas que tiverem um TTL inicial maior que a elegibilidade e, assim que o TTL restante dessas entradas ficar abaixo do valor do acionador, elas serão atualizadas. Os valores de elegibilidade e acionador estão em segundos.
Então, digamos que example.com tenha um TTL de 60 segundos (ou seja, TTL quando o registro foi buscado), quero garantir que, se o TTL restante ficar abaixo de 10 segundos, a entrada deverá ser atualizada. O seguinte será minha opção de pré-busca no arquivo de configuração.
prefetch 10 60
Outras leituras: link
Tags cache bind domain-name-system ttl