Какой алгоритм кэширования использует NSURLCache? - PullRequest
8 голосов
/ 23 июля 2011

Класс Apple NSURLCache имеет приличную документацию , но он не говорит о том, какой алгоритм кэширования используется.Это LRU, LFU или что-то еще целиком?

Я разрабатываю для iPad и надеюсь использовать возможности кэширования диска NSURLCache для кэширования фотографий с помощью [NSURLCache setDiskCapacity](по умолчанию кажется 0).Каков верхний предел этого значения?

Ответы [ 2 ]

3 голосов
/ 03 августа 2011

Кажется, что верхний предел емкости диска равен объему диска устройства. Я не вижу ничего о «наложенном программном» ограничении.

Что касается алгоритма кеширования, то, похоже, документации от Apple нет, но я нашел this . Это не совсем то, что вы просили, но, безусловно, дает вам представление о том, что происходит. Я полагаю, что этот использует Алгоритм кэширования нескольких очередей (?), Где он сортируется по размеру, а затем используется не так давно.

Если вы зависели от знания алгоритма кэширования, вы могли бы кое-что с этим сделать.

1 голос
/ 27 июля 2011

Я думаю, вам придется написать несколько тестов, чтобы понять это.(И, конечно, помните, что параметры могут изменяться в зависимости от версии iOs, аппаратной платформы и т. Д.)

...