2

我读过的一些文章建议服务工作者(Web Cache API)缓存的项目永远存储在系统中。我遇到过这样一种情况,当长时间(〜> 2个月)后重新访问我的网站的用户自动驱逐一些缓存的资源时,我知道通过HTTP缓存缓存的资产会在一段时间后被浏览器删除。同样适用于服务人员吗?

如果是这种情况,那么浏览器如何决定它必须删除什么资产,有没有办法告诉浏览器如果它从缓存中删除某些东西,然后删除所有以相同缓存名称缓存的东西?

4

1 回答 1

1

似乎它会永远持续下去,直到它不会:)(即存储空间不足) 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

于 2018-05-03T05:30:05.823 回答