精确 vs 近似
精确 vs 近似
# 精确:
SADD uv:day:20261012 uid1 uid2 uid3
SCARD uv:day:20261012
# 近似:
PFADD hll:uv:20261012 uid1 uid2 uid3
PFCOUNT hll:uv:20261012 # 3
# 合并多天:
PFMERGE hll:uv:week hll:uv:20261011 hll:uv:20261012
PFCOUNT hll:uv:week选型
| 维度 | Set | HyperLogLog |
|---|---|---|
| 精确性 | 精确 | 约 0.81% 误差 |
| 内存 | O(基数) | 固定约 12KB |
| 读取 | 可列出成员 | 只能计数 |
| 合并 | SUNIONSTORE | PFMERGE |
需要「列出是谁」用 Set;只要数字且规模大用 HLL;HLL 不支持删除单个成员是常见认知盲区。