TTL(Time To Live,生存时间)是 DNS 域名解析记录的缓存有效期参数,以秒为单位,决定解析结果在各级 DNS 服务器和本地缓存中保留多久。TTL 设置得当能加快网站访问、减轻解析压力,也直接影响换服务器、改解析后生效的快慢。

| 类型 | DNS 解析参数 |
| 英文全称 | Time To Live |
| 所属体系 | DNS 域名系统 |
| 计量单位 | 秒 |
| 常见取值 | 数十秒至一天 |
| 主要作用 | 控制解析记录缓存时长 |
TTL(Time To Live,生存时间)是 DNS 域名解析记录中的一个缓存时间参数,以秒为单位,用来告诉各级 DNS 服务器和客户端:这条解析结果可以缓存多久,过期后才需要重新向权威服务器查询。
当你访问一个网站时,系统要先通过 DNS 把域名翻译成 IP 地址。如果每次访问都从头查询一遍,既慢又浪费资源,于是运营商 DNS、公共 DNS、路由器乃至操作系统都会把查到的结果缓存起来,而缓存能保留多久,就由这条记录的 TTL 决定。在 TTL 有效期内,重复访问直接读缓存,响应更快;TTL 到期后缓存失效,才会重新发起查询拿到最新结果。
TTL 由域名管理者在 DNS 解析设置里为每条记录(如 A 记录、CNAME 记录)指定,常见取值从几十秒到一天不等。很多人说的「改了解析要等一段时间才生效」,背后起作用的正是 TTL——旧记录要等各地缓存陆续过期,新记录才能被全网看到。
日常稳定运行的网站,可以把 TTL 设为十分钟到几小时,兼顾速度与灵活性;计划迁移服务器或更换 IP 前,建议提前把 TTL 调小(如 60-300 秒),等切换完成、确认稳定后再调回较大值。做故障转移或动态解析(DDNS)的场景,通常也需要较短的 TTL 才能及时生效。
问:TTL 是不是越小越好?答:不是。TTL 过小会让缓存频繁失效,解析请求量大增,访问速度和稳定性反而下降;只有在需要频繁变更解析时才适合调小。
问:改了 DNS 解析为什么还没生效?答:多半是旧记录的 TTL 还没过期,各地缓存仍在使用旧结果,等待缓存陆续到期即可,也可尝试刷新本地 DNS 缓存。
问:DNS 的 TTL 和 IP 数据包的 TTL 是一回事吗?答:不是。IP 报文里的 TTL 指数据包最多能经过的路由跳数,防止其在网络中无限循环;两者只是同名,含义完全不同。

| 类型 | DNS 解析参数 |
| 英文全称 | Time To Live |
| 所属体系 | DNS 域名系统 |
| 计量单位 | 秒 |
| 常见取值 | 数十秒至一天 |
| 主要作用 | 控制解析记录缓存时长 |
登录 后参与讨论
暂无讨论,来发表第一条评论吧