如何刷新本地 DNS 缓存

本文介绍如何通过修改注册表设置来控制Windows中DNS缓存的有效期,并提供了即时清除DNS缓存的方法,即使用ipconfig.exe的/flushdns参数,该参数最终调用了DNSAPI.DnsFlushResolverCache函数。

Windows 会将我们访问过的 DNS 条目缓存下来供下次解析该域名时使用, 我们可以通过在注册表添加一下项目老控制 Cache 的有效期

HKEY_CURRENT_USER/SOFTWARE/Microsoft/Windows/CurrentVersion/Internet Settings

Value Name: DnsCacheTimeout Data Type: REG_DWORD Radix: Decimal Value: (time in seconds)  

Value Name: ServerInfoTimeOut Data Type: REG_DWORD Radix: Decimal Value: (time in seconds)

但是有时候我们不能随意改变用户机器中的相关设定,而且我们也只是需要在特定情况下立即刷新本地 DNS 缓存,查阅 MSDN 后没有找到相关方法。Windows 的组件 ipconfig.exe 提供了一个刷新 DNS 的命令行参数,"ipconfig /flushdns". 于是跟踪 ipconfig.exe 看看它在 flushdns 的时候到底使用了什么方法。最后发现它调用 DNSAPI.DnsFlushResolverCache 来 flushdns。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值