我正在寻找一种方法来自动刷新我的caching中的条目,如果到期。
例如,example.com的TTL为60,如果过期,我想自动刷新它,这样当用户查询example.com时,新版本已经在caching中了。
这是可能的绑定?
谢谢!
不,没有。 高速caching被devise为当它们首次被访问时自动“logging”条目,以便稍后快速访问。 像你所描述的那样,“预caching”条目没有性能增益。
BIND支持一种称为prefetch的技术。 使用预取BIND将自动刷新即将到期的条目。 以下是预取的语法。
sudo vim /etc/bind/named.conf.options ... options { ... prefetch 2 9; }; ...
正如你可以看到这有两个数字, trigger (这里是2)和eligibility (这里是9)。 如果剩余的TTL低于2秒,则告诉BIND刷新其初始TTL大于9秒的所有条目的DNS条目。 因此,它不会盲目地刷新所有条目,而只会监视具有大于资格的初始TTL的条目,并且一旦这些条目的剩余TTL低于触发值就会刷新它们。 资格和触发的价值在几秒钟内。
因此,假设example.com的TTL为60秒(即logging被提取时的TTL),我想确保如果剩余的TTL低于10秒,则条目应该被刷新。 以下是configuration文件中的预取选项。
prefetch 10 60
进一步阅读: https : //kb.isc.org/article/AA-01122/0