首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么时候应该避免使用Redis HyperLogLog ?为什么?

什么时候应该避免使用Redis HyperLogLog ?为什么?
EN

Stack Overflow用户
提问于 2017-09-04 19:48:36
回答 1查看 452关注 0票数 1

我对Redis HyperLogLog的工作原理以及什么时候使用它有一些基本的想法。

在使用它之前,我做了一个测试:我将一些连续的数字pfadd到一个HLL条目(以模仿用户ed),Redis很快就给出了一个假阳性结果。准确地说,如果您将编号193 pfadd到一个HLL条目,则会报告编号202已经存在于该条目中。您可以在redis-cli中测试它:

代码语言:javascript
复制
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是一种概率数据结构,但是它不是很容易给出这样的误报吗?我是不是误解了什么?

EN

回答 1

Stack Overflow用户

发布于 2017-09-04 20:44:22

  1. 您误解了PFADD的答复-它没有表示存在,而是数据结构中的内部寄存器是否已更改。
  2. 您还误解了HLL的用法-它估计集合基数(大小),而不是集合成员。

对于类似的(在概率意义上)设置成员资格的数据结构,请检查布隆过滤器及其Redis实现,重新布隆(http://rebloom.io)。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46036395

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档