2015-12-30 2 views
1

Я использую 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 статей. Поэтому, по какой-то причине угловой кеш не удаляет самые старые элементы, хотя документация обещала обратное.

Итак, я сделал что-то неправильно или есть ошибка в угловом кеше?

ответ

0

Хорошо, это была ошибка в угловом-кэш, который был теперь установлен в версии 4.4.3, см https://github.com/jmdobry/angular-cache/issues/210

После установки обновления мое приложение работает, как ожидалось.

Смежные вопросы