做開發的,難免不了修改hosts。但是每次修改hosts後要重啓應用,要麼等很長時間不操作後才生效。這樣不利於快速開發。
分析後,應該是dnscache服務cache了dns查詢結果。
經查閱相關資料,發現可以通過修改dnscache註冊表的相關參數來縮短cache時間和cache size。
修改點:
"MaxCacheTtl"=dword:00000001
"MaxNegativeCacheTtl"=dword:00000001
"ServerPriorityTimeLimit"=dword:00000000
"CacheHashTableBucketSize"=dword:00000001
"CacheHashTableSize"=dword:00000001
"MaxCacheEntryTtlLimit"=dword:00000001
修改後重啓機器生效(ms重啓服務不行)。重啓後,改了hosts後,直接刷新IE生效。不行話,3s後再刷新一次。
以上在windows xp sp3上測試通過。
附上我的機器的dns cache註冊表參數。有需要可以下載後解壓,直接導入。
==========華麗麗的分隔線================
2009.12.30新增。
上面的方法有時候好像無效,其實最有效的方法是修改下面的註冊表:
HKeyCurrentUser\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings
增加:
DnsCacheEnabled 0x0 (REG_DWORD)
DnsCacheTimeout 0x0 (REG_DWORD)
ServerInfoTimeOut 0x0 (REG_DWORD)