Service Worker 的缓存存储大小限制是多少?

13

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

3个回答

6
截至2016年8月15日,Addy Osmani发布了以下内容:
在Chrome和Opera中:您的存储是按起源(而不是按API)计算的。这两种存储机制将存储数据直到达到浏览器配额为止。应用程序可以使用Quota Management API检查它们正在使用多少配额。Firefox:没有限制,但在存储50MB数据后会提示。Mobile Safari:最大50MB,Desktop Safari:无限制(在存储5MB后会提示),IE10+最大为250MB,并在10MB时提示。PouchDB跟踪IDB存储行为。面向未来:对于需要更持久存储的应用程序,请参见正在进行的Durable Storage工作。

按来源计算表示像localStorage这样的API将与像服务工作器缓存这样的API共享存储空间。


1

简短回答是:它将取决于浏览器,截至目前(2016年8月30日),大多数浏览器尚未开始支持。

详细回答是:缓存是在服务工作者规范中提供的,但仍处于草案阶段。如果感兴趣,请查看w3 org服务工作者规范获取更多信息:
https://www.w3.org/TR/service-workers/

以下是Mozilla文档中列出的浏览器支持服务工作者和缓存API的情况。

Web/API/Caches

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

服务工作器 API

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

随着越来越多的浏览器支持这些API,将更容易绘制浏览器实现到缓存限制的图表以正确回答您的问题。我鼓励其他人随着发展改进这个答案。
目前,服务工作者规范的编辑Jake Archibald提供了以下网站,以帮助监视和通知开发人员准备好的服务工作者,包括各种浏览器中的缓存: Is Service Worker Ready? 希望这有所帮助。

-1

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

来源


4
据您的消息来源,您似乎将正在被废弃的appcache与其混淆了。 - Fabien

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接