Redis HyperLogLog

用极小内存做海量去重计数(UV 统计)。

Beginner
Key PointsHyperLogLog 用 ~12KB 估算上亿元素的去重个数,结果有约 0.81% 误差。

用法

Shell
PFADD uv:2026-05-20 u1 u2 u3 u1   # 加入,u1 重复自动去重
PFCOUNT uv:2026-05-20              # 估算去重数 -> 3
PFADD uv:2026-05-20 u4
PFCOUNT uv:2026-05-20              # -> 4
PFMERGE uv:total uv:2026-05-20 uv:2026-05-21   # 合并多天
Output
(integer) 3
(integer) 4
(integer) 1
Use Set for exact dedupe, but a Set of 100M UVs blows memory. HyperLogLog trades accuracy for tiny space, perfect for 'about how many unique visitors'. It cannot list members — only counts.

Friends & Partners