请注意,这是不是Cache 文件夹。它是 Service Worker 的缓存,路径应该是AppData\Local\Microsoft\Edge\User Data\Default\Service Worker
。
最近我发现我的硬盘快满了,所以我想清理一下。我注意到虽然缓存文件夹是可以接受的(200MB),但服务工作者文件夹的缓存却很大(> 1GB)。我尝试取消注册所有服务工作者,但缓存文件夹仍然存在。
我可以安全地从 Windows 资源管理器中删除它们吗?
附言:作为一名开发人员,我对注册的 Service Worker 数量感到吃惊。其中大部分都是跟踪器和无用的东西,我早就应该把它们删掉了。
我读过了本文但它对我不起作用,因为:
我也不想删除 cookie,但我需要它们。不幸的是,Chrome/Edge 将其归为一个选项。
我不能直接前往每个网站删除单独的 Service Worker 缓存。
答案1
我自己的 Service Worker 缓存位于以下文件夹中:
C:\Users\USER-NAME\AppData\Local\Microsoft\Edge\User Data\Default\Service Worker\CacheStorage\3cedfb74d44f2e84198d23075aef16c34a668ceb
。
我尝试使用edge://settings/clearBrowserData
“缓存的图像和文件”选项来清理它,但这并没有触及 Service Worker 缓存。
因此我只是使用资源管理器进入上述文件夹并删除了其中的所有内容,但将文件夹本身保留在原处。
然后我启动了 Microsoft Edge,它启动没有任何问题。它还用新内容重新填充了文件夹。
所以我的答案是:是的,您可以从 Explorer 中删除它。
如果担心安全问题,可以先将内容移至临时文件夹,然后运行 Microsoft Edge。如果一切正常,则可以删除临时文件夹。
注意:Google Chrome 的行为方式完全相同。其缓存位于:
C:\Users\USER-NAME\AppData\Local\Google\Chrome\User Data\Default\Service Worker
。
答案2
@harrymc 回答了如何强制刷新缓存。下面是逐个网站进行检查的方法,可以更深入地了解正在发生的事情。
如果您[chrome/edge/vivaldi/...]://serviceworker-internals/
在地址栏中输入,则可以看到所有已注册的服务工作者。但是,通过该页面取消注册它们不会清除缓存,因为这篇关于 love2dev 的综合文章笔记。
相反,如果youtube.com
已经注册了 serviceworker,请导航到该网站并打开开发者控制台。打开“应用程序”选项卡和“存储”项。
在这里,您将看到服务工作者占用了多少存储空间,并且您可以选择要清除该网站的哪些数据,例如仅保留 cookie。
请注意,当您再次导航到该站点时,服务工作线程将重新启动。
如果你希望选择哪些应用程序可以在你的系统上安装 Service Worker,按照本文中描述的步骤操作,使用 uBlock 插件。
这是一个大胆的猜测,但 5GB 的 ServiceWorker 存储可能是一些启用了离线内容的 Webmail 客户端:了解 ServiceWorker 最初是为不总是在线的移动设备设计的,因此会在本地系统上缓存一些 Web 应用程序数据,这一点至关重要。此外,ServiceWorker 可以接收不活跃 Web 应用程序的推送消息,并唤醒该应用程序。Gmail 就是一个典型的例子:在移动设备上,您可以在离线时阅读和编写电子邮件,并且它会在您上线后立即同步。即使手机重启后 Gmail 应用程序处于非活动状态,ServiceWorker 也会收到您的收件箱中有新邮件的推送消息。
因此,在始终连接到互联网的 PC 上,serviceworker 并不是真正必要的,除非是为了加快某些网站的体验。然而,现在有些网站可能根本无法正常工作,如果你阻止它们的 serviceworker(但我认为这是糟糕的编码习惯)。
为了更全面地了解,请阅读两篇链接文章。此外,Google 的 Service Worker 简介可以进一步阐明正在发生的事情。
答案3
清除该文件夹的更安全的解决方案:在 chrome/edge/vivaldi 中,转到“设置”->“隐私和安全”->“Cookie 和其他网站数据”->“查看所有 cookies 和网站数据”,您将获得所有已在您的计算机上保存数据的网站的列表。有些只有 cookies,但有些会有“本地存储”或“数据库存储”。
可以检查每个项目,了解使用了多少存储空间。您可以使用“全部删除”来删除所有内容,但请注意,所有 cookie 和类似内容也会被删除。
答案4
要添加到当前答案清除缓存是安全的,我厌倦了定期清理缓存,而且缓存增长得太快了。我使用 Chrome 扩展程序来阻止所有 Service Worker。它应该有一个白名单功能,因为有些网站确实需要它们,而且你信任它们。这还有另一个积极的影响,因为很多垃圾 Service Worker 也是由跟踪器安装的。
只需在 Google 或 Chrome Webstore 上搜索即可Service Worker blocker
(因此我不会宣传任何一个)。
另外,从评论中添加,您可以使用以下路径快速访问缓存文件夹:%localappdata%\Microsoft\Edge\User Data\Default\Service Worker\CacheStorage