用 Cloudflare Worker + KV 给静态博客加一个浏览量计数
内容提要
本文介绍了如何使用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代理等功能扩展。