我读过的一些文章表明,服务工作者(web Cache API)缓存的项目将永久存储在系统中。 我遇到过这样的情况,即一段时间后(〜> 2个月)重新访问我网站的用户会自动驱逐一些缓存的资源 我知道一个事实,即通过HTTP缓存缓存的资产会在一段时间后被浏览器删除。这同样适用于服务工作者吗?
如果是这种情况,那么浏览器如何决定它必须删除哪个资产?有没有办法告诉浏览器,如果它从缓存中删除某些内容,那么删除所有缓存的缓存名称相同的内容?< / p>
答案 0 :(得分: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