在“net/http”包中,我可以通过以下方式缓存DNS查找:

client := &http.Client{
        Transport: &http.Transport{
            Dial: (&nett.Dialer{
                Resolver: &nett.CacheResolver{TTL: 5 * time.Minute},
                IPFilter: nett.DualStack,
            }).Dial,
        },

    }

然后使用客户端检索网站。如何为网络软件包缓存DNS查找?例如,反向DNS请求:
net.LookupAddr(ip)

因为它不使用变量,所以我对如何设置它以及如何知道是否使用缓存实例感到困惑。

最佳答案

nett程序包似乎只有一个“解决”方法,而不是官方net程序包具有的LookupAddr,LookupIP等。因此,反向查询似乎不可用。这是从名称中正常查找地址的方法

package main

import (
    "github.com/abursavich/nett"
    "time"
)

func main() {
    r := nett.CacheResolver{TTL: 5 * time.Minute}
    a, _ := r.Resolve("muppet.com")
    for _, i := range a {
        print(i.String())
    }
}

关于go - 如何为网络程序包设置DNS缓存?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54359259/

10-12 02:56