- 前言
- 应用场景
- 常见命令
Redis 提供的 HyperLogLog 数据结构常用来解决统计问题。HyperLogLog 提供不精确的去重计数方案,标准误差是0.81%。
应用场景统计大型网站每天的 UV。来一个用户 ID,就用 pfadd 命令将用户 ID 塞进去。最后用 pfcount 直接获取计数值。
常见命令- pfadd
- pfcount
redis 127.0.0.1:6379> PFADD runoobkey "redis" 1) (integer) 1 redis 127.0.0.1:6379> PFADD runoobkey "mongodb" 1) (integer) 1 redis 127.0.0.1:6379> PFADD runoobkey "mysql" 1) (integer) 1 redis 127.0.0.1:6379> PFCOUNT runoobkey (integer) 3
- pfmerge
将多个 HyperLogLog 合并为一个 HyperLogLog ,合并后的 HyperLogLog 的基数估算值是通过对所有 给定 HyperLogLog 进行并集计算得出的。redis> PFADD hll1 foo bar zap a (integer) 1 redis> PFADD hll2 a b c foo (integer) 1 redis> PFMERGE hll3 hll1 hll2 "OK" redis> PFCOUNT hll3 (integer) 6 redis>



