昨天改IP的时候发现,虽然我新设置的的域名指向已经生效,但是本地查询到的DNS指向依旧是旧的,而且大约要1个小时以后本地才会生效...
感觉应该是本地的DNS缓存在起作用(因为域名的TTL值是3600秒),具体什么是DNS缓存我就不说了,你可以理解成在TTL值的时间内如果已经查询过某域名,那么就不再查询,而是直接读取缓存数据。你可以使用这个命令来查看本机的DNS缓存。
ipconfig /displaydns
我们要做的就是强制清空DNS缓存,这样本机就会重新读取域名的IP了,命令如下。
ipconfig /flushdns
1、禁用DNS缓存的方法,将下面内容保存为注册表文件,在运行写入注册表:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]
"DnsCacheEnabled"=dword:00000000
"DnsCacheTimeout"=dword:00000000
"ServerInfoTimeOut"=dword:00000000
2、写入注册表以后IE浏览器将不再缓存DNS,我们对hosts便会立即生效,无需再重启浏览器。
3、如果需要恢复IE的DNS缓存,只需清楚我们之前写入的注册表内容。跟上面的方法一样
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]
"DnsCacheEnabled"=-
"DnsCacheTimeout"=-
"ServerInfoTimeOut"=-
4、如果您觉得上面的操作比较繁琐的话,可以直接下载我们提供的注册表文件,下载以后点击运行就好了。