用 Cloudflare Worker + KV 给静态博客加一个浏览量计数

💡 原文中文,约6900字,阅读约需17分钟。
📝

内容提要

本文介绍了如何使用Cloudflare Worker和KV为静态博客添加浏览量计数功能。作者选择Cloudflare Worker,因其免费额度充足且易于部署。通过简单的前后端代码,作者实现了文章和整站的浏览量统计,并解决了初始值展示问题,提升了博客的互动性。

🎯

关键要点

  • 使用 Cloudflare Worker 和 KV 为静态博客添加浏览量计数功能。

  • 选择 Cloudflare Worker 的原因包括免费额度充足和易于部署。

  • 实现了文章和整站的浏览量统计,并解决了初始值展示问题。

  • 通过前端和后端代码的简单实现,提升了博客的互动性。

  • 使用 OpenSpec 进行变更提案,确保设计和需求清晰。

  • 计数逻辑包括粗放全算和 UV 去重,满足个人博客的需求。

  • 前端逻辑简单,确保在 JS 失败时页面不受影响。

  • 整体方案支持未来的扩展需求,如外链跳转计数和简单的 API 代理。

🔎

延伸解读

选择 Cloudflare Worker 的优势

Cloudflare Worker 提供了充足的免费额度和易于部署的特性,适合个人博客使用。相比其他方案,如自托管的 Umami 或第三方服务,Cloudflare Worker 让用户无需担心服务器维护,同时具备灵活的扩展性,未来可以轻松实现更多功能。

计数逻辑的设计考量

文章的浏览量计数采用了粗放全算的方式,不按 IP 去重,适合个人博客的需求。这种设计虽然不够精确,但能快速获取大致的阅读情况,避免了复杂的统计逻辑,适合对数据精度要求不高的用户。

前端与后端的解耦设计

通过将初始值的逻辑放在前端 JSON 文件中,作者实现了数据层与展示层的解耦。这种方法不仅便于审计和调整初始值,还能在未来更换后端服务时,保持前端代码的稳定性,提升了系统的灵活性。

延伸问答

如何使用Cloudflare Worker和KV为静态博客添加浏览量计数功能?

通过编写简单的前后端代码,使用Cloudflare Worker和KV实现文章和整站的浏览量统计。

为什么选择Cloudflare Worker而不是其他计数方案?

选择Cloudflare Worker是因为其免费额度充足、易于部署,并且可以完全控制数据。

如何解决浏览量计数的初始值展示问题?

通过将初始值放在前端的JSON文件中,结合实时数据进行展示,避免了直接在KV中设置初始值的复杂性。

Cloudflare Worker的计数逻辑是怎样的?

计数逻辑包括粗放全算和UV去重,满足个人博客的需求,确保数据的隐私和准确性。

如何在前端实现浏览量的展示?

前端通过fetch请求Cloudflare Worker的API,获取并展示文章和整站的浏览量数据。

这个方案有哪些未来的扩展需求?

方案支持未来的外链跳转计数、RSS订阅数统计和简单的API代理等功能扩展。

🏷️

标签

➡️

继续阅读