gpt4 book ai didi

algorithm - 什么时候应该避免使用 Redis HyperLogLog,为什么?

转载 作者:可可西里 更新时间:2023-11-01 11:12:59 26 4
gpt4 key购买 nike

我对 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这样是不是太容易给出误报了?我是不是误会了什么?

最佳答案

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

对于确实设置成员资格的类似(在概率意义上)数据结构,请检查 Bloom Filters 及其 Redis 实现,Rebloom(http://rebloom.io)。

关于algorithm - 什么时候应该避免使用 Redis HyperLogLog,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46036395/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com