Go での DNS キャッシュ
テスト クローラーの開発では、よくある質問が生じます。Go (golang) は次のキャッシュ メカニズムを実装していますか? DNS クエリ?
dnsclient パッケージを調べたところ、キャッシュについての明示的な言及はありませんでした。識別可能な。ただし、この機能は多くの場合、クローラの最適化にとって重要であり、余分な DNS クエリを最小限に抑えます。
回答:
Go (1.4 ) のデフォルトの実装には組み込みが含まれていません。 DNS キャッシュ。
代替キャッシュメカニズム:
例:
<code class="go">http.DefaultClient.Transport = &http.Transport{ MaxIdleConnsPerHost: 64, Dial: func(network string, address string) (net.Conn, error) { separator := strings.LastIndex(address, ":") ip, _ := dnscache.FetchString(address[:separator]) return net.Dial("tcp", ip+address[separator:]) }, }</code>
以上がGo (golang) には DNS キャッシュが組み込まれていますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。