2012-07-30 43 views
5

我使用的系统调用的getaddrinfo()从DNS获取IP地址。缓存DNS使用的getaddrinfo

我会想知道,如果缓存中的信息被存储在Linux或不?

如果缓存的信息存储,是否有可能清除缓存信息?

我会想知道如何清除缓存信息。

谢谢。

回答

4

一般来说,不,glibc的解析程序不缓存getaddrinfo结果。

在运行nscd系统,有些名字可能会被缓存。 (至少,gethostbyname可能会经过缓存;我不确定getaddrinfo。)重新启动守护程序以清除缓存。

通常预计上游(推测是递归)DNS解析器正在执行缓存。在大多数情况下,这超出了你的控制范围。