请注意,这不是Cache 文件夹。是 Service Worker 的 Cache,路径应该是AppData\Local\Microsoft\Edge\User Data\Default\Service Worker
.
最近我注意到我的硬盘快满了,所以我想清理它。我注意到虽然 Cache 文件夹是可以接受的(200MB),但 Service Worker 文件夹的缓存是如此之大(> 1GB)。我尝试取消注册所有服务人员,但缓存文件夹仍然存在。
我可以安全地从 Windows 资源管理器中删除它们吗?
Ps:作为一个开发者,我对注册Service Workers的数量感到惊讶。它们中的大多数都是我之前应该删除的跟踪器和无用的东西。
我已经阅读了这篇文章,但它对我不起作用,因为:
我也不想删除 cookie,我需要它们。不幸的是,Chrome/Edge 将其归为一个选项。
我不能只去每个网站删除单个 Service Worker 缓存。
我自己的 Service Worker 缓存位于文件夹:
C:\Users\USER-NAME\AppData\Local\Microsoft\Edge\User Data\Default\Service Worker\CacheStorage\3cedfb74d44f2e84198d23075aef16c34a668ceb
.我曾尝试使用“缓存的图像和文件”选项来清理它
edge://settings/clearBrowserData
,但这并没有触及 Service Worker 缓存。所以我只是用资源管理器进入上面的文件夹并删除了它的所有内容,但把文件夹本身留在了原处。
然后我启动了 Microsoft Edge,它启动时没有任何问题。它还用新内容重新填充了文件夹。
所以我的回答是:是的,你可以从资源管理器中删除它。
如果您担心安全,您可以首先将内容移动到临时文件夹并运行 Microsoft Edge。如果一切正常,您可以删除临时文件夹。
注意:谷歌浏览器的行为方式完全相同。其缓存位于:
C:\Users\USER-NAME\AppData\Local\Google\Chrome\User Data\Default\Service Worker
.@harrymc 已经回答了如何暴力刷新缓存。这是一种逐个网站的方法,可以更多地了解正在发生的事情。
Ì如果您插入
[chrome/edge/vivaldi/...]://serviceworker-internals/
地址栏,您可以看到所有已注册的服务人员。但是,通过该页面取消注册它们不会清除缓存,正如love2dev 上的这篇综合文章所指出的那样。相反,例如,如果
youtube.com
注册了一个 serviceworker,请导航到该网站并打开开发者控制台。打开“应用程序”选项卡和“存储”项。在这里,您将看到您的 Service Worker 占用了多少存储空间,并且您可以选择为该网站清除哪些数据,例如仅保留 cookie。
请注意,一旦您再次导航到该站点,Service Worker 将立即重新启动。
如果您希望选择哪些应用程序可以在您的系统上安装服务工作者,请按照本文中描述的步骤使用 uBlock 插件。
这是一个疯狂的猜测,但 5GB 的 ServiceWorker 存储可能是一些启用了离线内容的 web 邮件客户端:了解 serviceworker 最初是为不总是在线的移动设备而设计的,因此将一些 web 应用程序数据缓存在本地系统。此外,serviceworker 可以接收非活动 web 应用的推送消息,并唤醒该应用。Gmail 就是一个很好的例子:在移动设备上,您可以在离线时阅读和编写电子邮件,并且它会在您上线后立即同步。即使在手机重启后 gmail 应用程序未激活,服务人员也会收到推送消息,告诉您您的收件箱中有新内容。
因此,在始终连接到互联网的 PC 上,服务人员并不是真正需要的,除非可能是为了加快某些网站的体验。但是,如果您阻止他们的服务人员,现在某些网站可能根本无法正常工作(但我会说这是不好的编码习惯)。
如需更全面的理解,请阅读两篇链接的文章。此外,Google 的 Service Worker 简介可以更清楚地说明正在发生的事情。
清除该文件夹的更安全的解决方案:在 chrome/edge/vivaldi 中,转到“设置”->“隐私和安全”->“Cookie 和其他站点数据”->“查看所有 cookie 和站点数据”,您将获得所有站点的列表,这些站点已在您的计算机上保存了数据。有些只是cookies,但有些会有“本地存储”或“数据库存储”。
可以检查每个项目,以了解使用了多少存储空间。您可以使用“全部删除”来删除所有内容,但请注意,所有 cookie 和类似内容也会被删除。