zoukankan      html  css  js  c++  java
  • curl dns缓存设置

    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

  • 相关阅读:
    微服务-01
    Java 类加载机制
    数据库&缓存
    JVM&GC
    MyBatis
    spring
    mysql技术内幕-读书笔记
    mysql CookBook -读书笔记
    从根上理解mysql-读书笔记
    高性能mysql-读书笔记
  • 原文地址:https://www.cnblogs.com/jking10/p/6595981.html
Copyright © 2011-2022 走看看