Redis HyperLogLog 是在数据量在千万级以上的时候采用的一种数据结构,用于数据不精确统计,说不精确,是因为统计结果有一定的误差率。
Redis 对这种数据结构进行了优化,数据量小的时候采用稀疏矩阵,占用空间很小,超出阈值时,会转为稠密矩阵,才会占用 12KB 的存储空间。
Redis 针对这种数据结构提供了几个命令,添加元素,去重统计,数据合并。
添加命令: pfadd
pfadd pfKey user:1
pfadd pfKey user:2
pfadd pfKey user:3
pfadd pfKey2 user:12
pfadd pfKey2 user:22
pfadd pfKey2 user:32
pfadd pfKey2 user:62
去重统计命令: pfcount
pfcount pfKey
3
pfcount pfKey2
4
数据合并命令:pfmerge
用于累加多个 pf key的计数
pfmerge pfKey pfKey2
OK
pfcount pfKey
7
pfcount pfKey2
4