DNScaching为Ubuntu存储在哪里?

我在哪里可以findUbuntu文件系统上的实际DNScaching存储?

我有一个PHP脚本,它使用libcurl在同一个域上抓取几百页,并且设置为使用全局DNScaching,并将DNScaching超时设置为5分钟(300秒),这肯定会加快速度,由于几个呼叫由于名称parsing问题而挂起(对同一个域的名称parsing请求过多,服务器必须拒绝/悬挂某些)。

另一个问题是,是否有可能有一个永久存储位置的域到IP地址映射,所以你甚至不必在libcurl中使用DNScaching? 我可以使用/etc/resolv.conf存储一个外部域名并将其映射到它的IP地址,这是否工作?

我一直在web开发一段时间,所以我很熟悉的Linux命令行和搞乱configuration/设置,但我一直没能find这个问题的答案

我想我可以让实际的libcurl请求使用我从中提取的网站的IP地址,但我宁愿让它使用域名进行日志logging,以便我可以监视任何与请求挂起的问题

Solutions Collecting From Web of "DNScaching为Ubuntu存储在哪里?"

首先,您正在寻找由curl维护的DNS缓存(而不是系统范围的全局缓存),因为除非您运行缓存解析程序(LDNS服务器),否则缓存DNS记录的责任落在应用程序上。

其次,你可以使用/etc/hosts来存储映射。 如果你是解析器库,不希望通过DNS查找/ etc / hosts,你需要改变/etc/host.conf中的查找顺序。 你应该看到一行:

 order hosts,bind 

这里的hosts告诉gethostbyname等解析器库实用程序首先查看/etc/hosts文件。

您应该使用/etc/hosts来存储IP和主机