Redis:三种特殊数据结构类型(二):Hyperloglog(用作基数统计的算法)

    科技2026-04-17  2

    什么是基数?

    比如A:{1,3,5,7,8,7}; B:{1,3,5,7,8}’

    基数(不重复的元素)=5,可以接受误差!

    简介

    官方早在Redis2.8.9的时候就更新出了Hyperloglog数据结构。 Redis Hyperloglog 基数统计的算法!

    比如:网页的UV(一个人访问同一个网站多次,但是还是算作一个人!)

    传统的方式:set保存用户的id,然后可以统计set中元素的数量作为判断标准! 这种方式保存大量的id,就会比较麻烦,占用大量的空间!

    而Hyperloglog的优点: 在输入元素的数量或者体积非常非常大时,计算基数所需的空间总是固定 的、并且是很小的。

    在 Redis 里面,每个 HyperLogLog 键只需要花费 12 KB 内存,就可以计算接近 2^64 个不同元素的基 数。这和计算基数时,元素越多耗费内存就越多的集合形成鲜明对比。它的错误率只有0.8%,统计UV任务,完全可以忽略不计!

    PFADD命令PFCOUNT命令PFMERGE命令

    Processed: 0.014, SQL: 9