Я использую angular-cache с localStorage для сохранения статей локально в html5. documentation states, что есть опция под названием «емкость»:Почему настройка углового кэша игнорируется?
емкость
Максимальное количество элементов кэш может содержать. Добавление большего количества элементов , чем емкость, приведет к тому, что кеш будет работать как кеш LRU, удаляет наименее используемые элементы, чтобы оставаться под нагрузкой. По умолчанию: Number.MAX_VALUE.
Поскольку я только хочу, чтобы сохранить максимум 20 статей, настроить так:
CacheFactory('articleCache', {
storagePrefix : 'my.news.',
capacity : 20,
storageMode: 'localStorage'
});
И когда я хочу, чтобы получить данные, я просто сделать:
$http.get(url, {cache: CacheFactory.get('articleCache')});
После используя мое приложение какое-то время, я вдруг заметил, что он перестает работать, потому что была достигнута квота ограничения localStorage. Когда я напечатал console.log(localStorage)
, я увидел, что в localStorage хранилось не более 20 статей. Поэтому, по какой-то причине угловой кеш не удаляет самые старые элементы, хотя документация обещала обратное.
Итак, я сделал что-то неправильно или есть ошибка в угловом кеше?