Какова цель DNS-кэширования на уровне Java? - PullRequest
4 голосов
/ 27 июня 2011

В настоящее время я работаю над проектом Android.У меня есть сомнения по поводу обновления кэширования уровня Java DNS .Посредством поиска я узнал, что с помощью вызова нижеупомянутых функций мы можем достичь этого.

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

На основании этого он кэширует имя, ищет данные или нет.Я хочу знать цель или влияние этого свойства.

Ответы [ 2 ]

3 голосов
/ 27 июня 2011

Цель состоит в том, чтобы делать меньше запросов DNS.Это приводит к более быстрой загрузке, поскольку IP-адрес для имени хоста уже находится в кеше.

Это системные свойства Java, которые влияют непосредственно на стандартную сетевую библиотеку.Позволяет настроить DNS-кэширование на уровне Java.

Как и любое кэширование, кэширование иногда приводит к нежелательным эффектам, таким как кеширование обновляется поздно, когда некоторые записи DNS изменились.

Я считаю такие значения 0 (без кэша) или -1 (кэш навсегда) только для целей тестирования.

0 голосов
/ 24 января 2012

Также я не думаю, что вы можете установить свойства, как указано выше.На JVM вам нужно использовать

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

(не уверен насчет Android)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...