服务工作者缓存存储的大小限制是什么?

时间:2016-07-06 07:53:34

标签: javascript service-worker

本地存储的大小限制为5M,当我在Service Worker中使用时,是否有任何缓存存储限制?

3 个答案:

答案 0 :(得分:4)

截至2016年8月15日,Addy Osmani posted

  

你可以储存多少?在Chrome和Opera中:您的存储空间是完整的   来源(而不是每个API)。两种存储机制都将存储数据   直到达到浏览器quota。应用可以检查多少配额   他们正在使用Quota Management API。 Firefox:没有限制,但是   存储50MB数据后会提示。移动Safari:最大50MB,桌面   Safari:无限制(5MB后提示),IE10 +最大250MB和   提示为10MB。 PouchDB track IDB存储行为。未来面临:   对于需要更多持久存储的应用程序,请参阅正在进行的工作   Durable Storage

其中 per origin 意味着像localStorage这样的API将与API一样共享存储空间,就像服务工作者Cache一样。

答案 1 :(得分:1)

这取决于最终的浏览器。 Chrome允许您询问无限存储空间(受用户在线硬盘大小限制),默认情况下为5 MB。 Safari和Firefox都默认为无限缓存。移动设备再次不同Chrome(Android)在移动设备默认为无限制,而Safari(iOS)限制为10MB。

Source

答案 2 :(得分:1)

简短回答是它将是特定于浏览器的,截至目前(2016年8月30日),大多数浏览器尚未启动支持。

答案很长是Service Workers规范中提供的缓存仍然是工作草案。如果感兴趣,请查看w3 org service-worker规范以获取更多信息:
https://www.w3.org/TR/service-workers/

以下内容,根据Mozilla的文档,列出了浏览器与服务工作者以及Cache API的兼容性。

网络/ API /高速缓存

https://developer.mozilla.org/en-US/docs/Web/API/Cache#Browser_compatibility

Service Worker API

https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorker#Browser_compatibility

随着越来越多的浏览器支持这些API,将浏览器实现映射到缓存限制以更正确地解决您的问题会更容易。随着事态的发展,我鼓励其他人改进这个答案。

目前,Jake Archibald(服务工作者规范的编辑)提供了以下站点来帮助监控并告知开发人员服务工作者的准备情况,包括各种浏览器中的缓存:

Is Service Worker Ready?

希望这有帮助