Redis Hyperloglog基数统计
基数:不重复的元素
Redis Hyperloglog:用于做基数统计的算法
优点:占用的内容是固定的,2^64不同的元素的技术,只需要占用12kb内存!如果要从内存角度来比较的话Hyperloglog首选。
hyper log log命令以"pf"开头。
1.利用pfadd命令添加
127.0.0.1:6379> pfadd mykey a b c d e f g h i j
(integer) 1
127.0.0.1:6379>
2.利用pfcount 命令统计元素的基数数量
127.0.0.1:6379> pfcount mykey
(integer) 10
127.0.0.1:6379>
3.利用pfmerge命令合并两组,并统计并集的数量
127.0.0.1:6379> pfadd mykey2 i j z x c v b n m (integer) 1 127.0.0.1:6379> pfmerge mykey3 mykey mykey2 OK 127.0.0.1:6379> pfcount mykey3 (integer) 15 127.0.0.1:6379>
应用场景:
1.网页的uv(一个人访问一个网站多次,但是还是算做一个人)
传统的方式:set(因为set不允许重复,如果重复就覆盖)保存用户的id,然后就可以统计,set中元素数量作为标准判断,这个方式如果保存大量的用户id,就会比较麻烦。我们的目的是为了计数,而不是保存用户id。
2.如果允许容错,那么一定可以使用Hyperloglog!如果不允许容错,就使用set或者自己的数据类型即可!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!