HyperLogLog用法
场景引入:
两个概念:
- UV:全程Unique Visitor,也叫独立访客量,是指通过互联网访问,浏览这个网页的自然人。1天内同一个用户多次访问该网站,只记录一次。
- PV:全称PageView,也叫页面访问量或点击量,用户每次访问网站的一个页面,记录一次pv,用户多次打开页面,则记录多次pv。往往用来衡量网站的流量
UV统计izai服务端做会比较麻烦,因为要判断该用户是否已经统计过了,需要将统计过的用户信息保存。但是如果每个访问的用户都保存到Redis中,数据量会非常恐怖。
HyperLogLog用法
Hyperlogiog HLL是以L0g具法派率具法,用于定大的集合的星数而不需要存储其有值,关法原大家参考: https://juejin.cn/post/6844903785744056333#heading-0
Redis中的HLL是基于stimng结构实现的,单个HL的内存永远小16kb,内存占用的今人发指!作为价,其现量结果是部率性的,有小0.81 %误差,不对于UV统计来说,这完全可以忽路
实现UV统计
对于 HyperLogLog来说,天然的支持唯一性的数据,例如添加多个相同的id,那么只会存在一个
总结
HyperLogLog的作用:
- 做海量数据的统计工作
HyperLogLog的优点:
- 内存占用极低
- 性能非常好
HyperLogLog的缺点:
- 有一定的误差
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)