缓存配置¶
cache
配置块用于控制 Load Ants 内置的 DNS 缓存功能。一个优化的缓存配置可以极大地提升 DNS 解析速度,降低延迟,并减少对上游服务器的请求压力。
想要深入了解缓存的工作原理吗?请阅读 核心概念:高性能缓存机制。
示例¶
cache:
enabled: true
max_size: 10000
min_ttl: 60
max_ttl: 3600
negative_ttl: 300
参数详解¶
参数 | 类型 | 描述 | 默认值 | 是否必填 |
---|---|---|---|---|
enabled |
布尔值 | 是否启用 DNS 缓存功能。如果整个 cache 配置块存在,此字段必须为 true 。如果想禁用缓存,请直接移除整个 cache 配置块。 |
true |
是 (若 cache 块存在) |
max_size |
整数 | 缓存中可以存储的最大 DNS 记录条数。当缓存达到此上限时,最老的记录会被移除,为新记录腾出空间。 | 10000 |
是 (若 cache 块存在) |
min_ttl |
整数 | 强制覆盖上游响应中过短的 TTL(生存时间)。例如,如果上游返回的 TTL 是 10 秒,但 min_ttl 设置为 60,那么该记录在缓存中的有效期将被强制延长至 60 秒。单位为秒。 |
60 |
是 (若 cache -块存在) |
max_ttl |
整数 | 强制覆盖上游响应中过长的 TTL。例如,如果上游返回的 TTL 是 86400 秒(一天),但 max_ttl 设置为 3600,那么该记录在缓存中的有效期将被强制缩短为 3600 秒(一小时)。单位为秒。 |
3600 |
是 (若 cache 块存在) |
negative_ttl |
整数 | 负向缓存的 TTL。专门用于缓存那些"失败"的查询结果(例如域名不存在 NXDOMAIN )。这能有效防止对无效域名的重复查询。单位为秒。 |
300 |
是 (若 cache 块存在) |
✨ 专家提示:
- 对于大多数家庭或个人用户,默认的缓存配置已经相当优化,无需修改。
- 如果你在一个变化非常频繁的网络环境(例如,某些服务的 IP 地址经常变更),你可能需要适当调低
max_ttl
的值,以确保能更快地获取到更新。- 如果你的网络中有设备(例如 IoT 设备)会频繁查询一些不存在的域名,适当调高
negative_ttl
可以减轻上游服务器的压力。