【问题标题】:how do I increase the accuracy of redis hyperloglog如何提高redis hyperloglog的准确性
【发布时间】:2021-09-03 01:46:13
【问题描述】:

我正在使用一个非常简单的redis HLL实现

PFADD 添加元素和 PFCOUNT(带有 PFMERGE 的东西)来获取计数

有没有办法通过增加分配的内存等来调整 redis HLL 的效率

【问题讨论】:

    标签: redis hyperloglog


    【解决方案1】:

    不,你不能。 hyperloglog 的大小是硬编码的,您无法通过配置或编译时选项更改它。如果确实需要更改,则必须修改源代码并自行构建。

    // hyperloglog.c
    
    #define HLL_P 14 /* The greater is P, the smaller the error. */
    

    另外,P 越大,占用的内存就越多。

    【讨论】:

    • 无论如何我都会有很少的 HLL 键,所以内存不是问题我应该增加 HLL_P 的大小。我应该把它保存成什么?
    • 我尝试使用 HLL_P 28 重新编译...但 make test 失败
    • 当然测试会失败,因为你改变了精度。如果您想通过测试,您还应该修改测试代码。或者编写自己的测试用例。
    猜你喜欢
    • 2020-12-08
    • 2020-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-30
    • 2021-09-16
    • 2020-09-24
    • 1970-01-01
    相关资源
    最近更新 更多