码迷,mamicode.com
首页 > Web开发 > 详细

curl dns缓存设置

时间:2017-03-21 18:27:27      阅读:354      评论:0      收藏:0      [点我收藏+]

标签:keep   wrap   需要   并且   自动   使用   dns   http   nbsp   

CURLOPT_DNS_USE_GLOBAL_CACHE 启用时会启用一个全局的DNS缓存,此项为线程安全的,并且默认启用。
CURLOPT_DNS_CACHE_TIMEOUT 设置在内存中保存DNS信息的时间,默认为120秒。

1)fopen/file_get_contents 每次请求远程URL中的数据都会重新做DNS查询,并不对DNS信息进行缓存。但是CURL会自动对DNS信息进行缓存。对同一域名下的网页或者图片的请求只需要一次DNS 查询。这大大减少了DNS查询的次数。所以CURL的性能比fopen/file_get_contents 好很多。
2)fopen/file_get_contents在请求HTTP时,使用的是http_fopen_wrapper,不会keeplive。而curl却可以。这样在多次请求多个链接时,curl效率会好一些。(设置header头应该可以)

 

 

SO,如内部有需求不断请求内网dns server,尽量加上,用curl

或者用DNSMasq

curl dns缓存设置

标签:keep   wrap   需要   并且   自动   使用   dns   http   nbsp   

原文地址:http://www.cnblogs.com/jking10/p/6595981.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!