Прежде всего вы должны попытаться кэшировать только те ресурсы, которые необходимы для вашего PWA. Однако, если вы хотите хранить большие файлы, я бы предложил использовать API IndexDB.
IndexedDB - это низкоуровневый API-интерфейс для хранения на стороне клиента значительных объемов структурированных данных, в том числе файлов и больших двоичных объектов. Этот API использует индексы для обеспечения высокопроизводительного поиска этих данных. Хотя веб-хранилище полезно для хранения небольших объемов данных, оно менее полезно для хранения больших объемов структурированных данных. IndexedDB предоставляет решение.
Почему IndexDB?
Когда квота превышает в IndexedDB API, ошибка вызывает функцию onabort () транзакции с Event в качестве аргумента.
Когда браузер запрашивает у пользователя разрешение на увеличение размера хранилища, все браузеры вызывают эту функцию только тогда, когда пользователь не разрешает ее, в противном случае продолжайте транзакцию.
Если вы хотите узнать о других возможных БД, я бы предложил вам перейти по этой ссылке
https://www.html5rocks.com/en/tutorials/offline/quota-research/