什么是 TTL?

TTL(Time To Live)是 DNS 记录的存活时间,以秒为单位,决定解析结果在缓存中保留多久。TTL 越小,记录变更生效越快,但查询次数越多;TTL 越大则相反。修改解析前调小 TTL,可以缩短新记录的生效时间。

TTL(Time To Live)是每条 DNS 记录的存活时间,以秒为单位。第 25 期介绍过 DNS 缓存:解析器把查过的结果保存一段时间,下次直接使用。TTL 就是这段保留时间的长度——3600 秒表示缓存一小时后重新查询,86400 秒表示一天。

TTL 的取值是一组权衡。设置得小,记录变更后能在更短时间内生效,但缓存频繁过期,重复查询会增多,权威服务器的压力随之上升;设置得大,查询次数少、解析更省资源,但修改记录后需要等更久才能看到变化。常见取值有 300 秒、3600 秒和 86400 秒。

对需要调整解析的持有者来说,可以在变更前把 TTL 临时调小,例如改成 300 秒,等待旧缓存过期,再执行域名修改,这样新记录会很快生效。变更完成后再把 TTL 恢复为常规值。