使用 getaddrinfo 缓存 DNS
Posted
技术标签:
【中文标题】使用 getaddrinfo 缓存 DNS【英文标题】:Caching DNS using getaddrinfo 【发布时间】:2012-07-27 18:41:08 【问题描述】:我正在使用系统调用 getaddrinfo() 从 DNS 获取 IP 地址。
我想知道缓存信息是否存储在Linux上?
如果存储了缓存信息,是否可以清除缓存信息?
我想知道如何清除缓存信息。
谢谢。
【问题讨论】:
【参考方案1】:一般来说,不,glibc 解析器不会缓存getaddrinfo
结果。
在运行nscd
的系统上,某些名称可能会被缓存。 (至少,gethostbyname
可能会通过缓存;我不确定getaddrinfo
。)重新启动守护程序以清除缓存。
通常预计上游(可能是递归的)DNS 解析器正在执行缓存。在大多数情况下,这是您无法控制的。
【讨论】:
以上是关于使用 getaddrinfo 缓存 DNS的主要内容,如果未能解决你的问题,请参考以下文章
C++ - getaddrinfo() - 使用动态 dns 获取自己的外部 IP 失败