我对 Redis HyperLogLog 如何工作以及何时使用它有一些基本的想法。
在使用它之前,我做了一个测试:我pfadd
在 HLL 条目中添加了一些连续的数字(以模仿用户 ID),Redis 很快给出了误报结果。确切地说,如果您将pfadd
193 编号到 HLL 条目,则将报告编号 202 已存在于该条目中。你可以在 redis-cli 中测试它:
127.0.0.1:6379> del ns
(integer) 0
127.0.0.1:6379> PFADD ns 193
(integer) 1
127.0.0.1:6379> PFADD ns 202
(integer) 0
我知道 HyperLogLog 是一种概率数据结构,但是 HLL 不会太容易给出这样的误报吗?我是不是误会了什么?