【问题标题】:what is the purpose of Java level DNS caching?Java级DNS缓存的目的是什么?
【发布时间】:2012-01-25 00:10:04
【问题描述】:

目前我正在处理一个Android 项目。我对升级 java 级别 DNS 缓存有疑问。通过搜索得知,可以通过调用下面提到的函数来实现。

 System.setProperty( "networkaddress.cache.ttl", "0" );
 System.setProperty( "networkaddress.cache.negative.ttl", "0" );

基于此,它是否缓存名称查找数据。我想知道这个属性的目的或影响。

【问题讨论】:

    标签: java android caching dns


    【解决方案1】:

    目的是减少 DNS 请求。这会导致更快的下载,因为主机名的 IP 已经在缓存中。

    这是直接影响标准网络库的 Java 系统属性。它允许您调整 Java 级别的 DNS 缓存。

    与所有缓存一样,缓存有时会产生不理想的效果,例如当某些 DNS 条目发生更改时,缓存会延迟更新。

    我认为 0(无缓存)或 -1(永久缓存)等值仅用于测试目的。

    【讨论】:

      【解决方案2】:

      另外我认为你不能像上面那样设置属性。在你需要使用的 JVM 上

      java.security.Security.setProperty("networkaddress.cache.ttl" , "10");

      (不确定Android)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-11-24
        • 1970-01-01
        • 2023-03-29
        • 2019-08-04
        • 1970-01-01
        • 2010-09-25
        • 1970-01-01
        • 2010-12-22
        相关资源
        最近更新 更多