解析器缓存是如何工作的
DnsClient 服务保存最近的应答——主要是把名称映射到 IPv4/IPv6 地址的 A 和 AAAA 记录——外加由域名自己设定的有效期 TTL。TTL 未过之前,任何询问该名称的应用都能立刻拿到缓存答案;过期后,Windows 会再次查询配置的解析器,通常是你的路由器、运营商,或 1.1.1.1 这类公共解析器。缓存还记失败:一次临时 DNS 错误可能被存为否定条目,这就是一个短暂掉线的网站在恢复后仍会“坏着”几分钟的原因。
在这个系统缓存之上还有两层。浏览器维护自己的小型 DNS 缓存;若启用了 DNS-over-HTTPS,浏览器会自行解析名称,完全绕过 Windows。因此视配置而定,对某个网站真正起作用的缓存,可能根本不是 ipconfig 对话的那一层。
刷新什么时候真能修好问题
刷新是对正确性的修复,而不是提速技巧——它只在一份很短的具体情形清单里挣得到饭钱:
- 你改了 hosts 文件,而 Windows 在 TTL 过期前一直端出旧答案
- 网站搬到了新 IP,你的机器却还在拨那些已经死掉的旧地址
- 在 VPN 与普通网络之间切换后,缓存里的内网区域名称不再解析
- 一次瞬时故障被存成否定条目,网站明明恢复了却依旧打不开
- 换了 DNS 服务器(或其过滤规则),想立刻拿到新服务器的应答
如何查看并刷新缓存
打开终端或 PowerShell,运行 ipconfig /displaydns 即可看到缓存条目及其 TTL——这是怪罪网络之前确认过期记录的最快方法。运行 ipconfig /flushdns 不到一秒即可清空缓存并打印确认;无需重启,也不用重启服务。浏览器那一层要单独清理:Chrome 内核浏览器在 chrome://net-internals/#dns 有“Clear host cache”按钮,Firefox 则在重启时重新解析。
如果刷新之后全系统的解析仍然不正常,请在 services.msc 里重启 DnsClient 服务,并在网卡的 DNS 分配页面确认 Windows 实际使用的是哪个解析器。重启服务也会丢掉它的缓存,相当于更深层版本的刷新。而如果你是抱着“刷新能加快上网”的期待找到本文的:它不能——那个流言值得单独做一次尸检。
常见问题与解答
在 Windows 11 里怎么刷新 DNS 缓存?
打开终端或 PowerShell,运行 ipconfig /flushdns——不到一秒完成,无需重启。浏览器另有一层独立的 DNS 缓存,若问题只出在单个浏览器,那层也要清。
DNS 缓存存放在我电脑的哪里?
在内存里,位于 DnsClient 服务内部——磁盘上并没有可删除的文件。可以用 ipconfig /displaydns 查看当前条目,或用 ipconfig /flushdns 清空。
继续阅读
联系我们: [email protected]