Какова продолжительность жизни активов, кэшированных работником службы? - PullRequest
0 голосов
/ 03 мая 2018

Некоторые статьи, которые я прочитал, предполагают, что элементы, кэшированные работником сервиса (API веб-кэша), хранятся в системе навсегда. Я сталкивался со сценарием, когда некоторые из кэшированных ресурсов автоматически удаляются для пользователей, которые повторно посещают мой веб-сайт через длительное время (~> 2 месяца) Я точно знаю, что ресурсы, кэшированные через HTTP-кэширование, удаляются браузером через определенное время. То же самое относится и к работнику сферы услуг?

Если это так, то как браузер решает, какой актив он должен удалить, и есть ли способ сообщить браузеру, что если он удаляет что-то из кэша, то удаляет все, что кэшируется с тем же именем кэша?

1 Ответ

0 голосов
/ 03 мая 2018

Кажется, что это длится вечно, пока это не так :) https://developers.google.com/web/ilt/pwa/caching-files-with-service-worker

Вы несете ответственность за реализацию, как ваш сценарий (работник службы) обрабатывает обновления кеша. Все обновления элементов в кеше должны быть явно запрошенным; элементы не истекают и должны быть удалены. Однако, если объем кэшированных данных превышает хранилище браузера ограничить, браузер начнет высылать все данные, связанные с источник, по одному источнику за раз, до тех пор, пока объем снова ограничить. См. Ограничения хранения в браузере и критерии исключения информация.

Если их хранилище заканчивается, то оно может быть выселено: (См. Ограничения хранилища) https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API/Browser_storage_limits_and_eviction_criteria

...