RedisBloom 2.4 发行说明

添加了 t-digest - 一种概率数据结构,用于根据数据流或浮点值的大型数据集估计分位数。

Redis 堆栈

要求

RedisBloom v2.4.14 需要:

  • 最低 Redis 兼容版本(数据库):6.0.16
  • 最低 Redis 企业软件版本(集群):6.2.8

v2.4.14(2025 年 2 月)

这是 RedisBloom 2.4 的维护版本。

更新紧急度:MODERATE:对服务器进行升级编程,但这不是紧急的。

详:

  • 错误修复:
    • #828 CMS.INCRBY不通知WATCHers 或客户端缓存 (MOD-8193)
    • 排名 #827Top-K - 由于缺少初始化,RDB 加载后的结果不理想 (MOD-8194)

v2.4.13(2025 年 1 月)

这是 RedisBloom 2.4 的维护版本。

更新紧急度:SECURITY:此版本中有安全修复程序。

详:

  • 安全和隐私:

    • #845 (CVE-2024-53993) CMS:潜在越界写入 (MOD-6970)
  • 错误修复:

    • #845 CMS.MERGE在键数为负数时崩溃或挂起 (MOD-6964)
  • 改进:

    • #831添加了对 Ubuntu 22 以及 macOS 13 和 14 的支持

v2.4.9(2024 年 3 月)

这是 RedisBloom 2.4 的维护版本。

更新紧急度:MODERATE:对服务器进行升级编程,但这不是紧急的。

详:

  • 错误修复:

    • 排名 #753可能崩溃CMS.MERGE使用无效参数时

v2.4.8(2024 年 1 月)

这是 RedisBloom 2.4 的维护版本。

更新紧急度:HIGH:存在可能影响一部分用户的严重错误。升级!

详:

  • 错误修复:

    • 排名 #727针对 上潜在崩溃的其他修复CF.LOADCHUNK(型号-6344)

v2.4.7(2024 年 1 月)

这是 RedisBloom 2.4 的维护版本。

更新紧急度:HIGH:存在可能影响一部分用户的严重错误。升级!

详:

  • 错误修复:

v2.4.6(2023 年 12 月)

这是 RedisBloom 2.4 的维护版本。

更新紧急度:LOW:除非有您想要使用的新功能,否则无需升级。

详:

  • 错误修复:

    • 排名 #707Top-K:TOPK.ADDTOPK.QUERY当项目名称为空字符串时崩溃 (RED-114676)
  • 改进:

    • 排名 #706添加了对 CBL-Mariner 2 (MOD-6200) 的支持

v2.4.5(2023 年 4 月)

这是 RedisBloom 2.4 的维护版本。

更新紧急度:LOW:除非有您想要使用的新功能,否则无需升级。

详:

  • 改进:

    • 支持未来 Redis Enterprise 版本的内部更改

v2.4.4(2023 年 2 月)

这是 RedisBloom 2.4 的维护版本。

更新紧急度:MODERATE:对服务器进行升级编程,但这不是紧急的。

详:

  • 错误修复:

  • 改进:

    • #389介绍 BF。CARD 检索 Bloom 过滤器的基数,当此类键不存在时为 0

v2.4 GA (v2.4.3)(2022 年 11 月)

这是 RedisBloom 2.4 的正式发布版本。

突出

RedisBloom 2.4 引入了一种新的 sketch 数据结构:t-digest

2.4 中的新增功能

T-Digest 是一种概率数据结构,用于根据数据流或浮点值的大型数据集来估计分位数。它可用于回答以下问题:

  • 数据流中有多少部分值小于给定值?
  • 数据流中有多少个值小于给定值?
  • 哪个值小于数据流中值的 p 百分比?(什么是 P 百分位数值)?
  • p1 百分位值和 p2 百分位值之间的平均值是多少?
  • 数据流中第 n 个最小值/最大值的值是多少?([反向] 秩 n 的值是多少)?

与任何其他概率数据结构一样,t-digest 需要次线性空间,并且具有可控的空间精度权衡。

使用 t-digest 非常简单明了:

  • 创建草图并添加观测值

    TDIGEST.CREATE key [COMPRESSION compression]初始化新的 T-Digest 草图(如果密钥已存在,则初始化 Errors)。这COMPRESSION参数用于指定准确性和内存消耗之间的权衡。默认值为 100。值越高,精度越高。

    TDIGEST.ADD key value...将新观测值(浮点值)添加到草图中。您可以重复调用 TDIGEST。每当有新的观测值可用时,就添加。

  • 按值估计分数或排名

    TDIGEST.CDF key value...对于每个输入,检索 (小于给定值的观测值 + 等于给定值的观测值的一半) 的分数估计值。

    TDIGEST.RANK key value...类似于 TDIGEST。CDF,但用于估计观测值的数量,而不是观测值的分数。更准确地说,对于每个输入,它返回 (小于给定值的观测值 + 等于给定值的一半观测值) 的估计

    最后,TDIGEST.REVRANK key value...类似于 TDIGEST。RANK,但对于每个输入,返回 (大于给定值的观测值 + 等于给定值的一半观测值) 的估计

  • 按分数或秩估计值

    TDIGEST.QUANTILE key fraction...对于每个输入分数,返回小于给定观测值分数的值(浮点)的估计值。

    TDIGEST.BYRANK key rank...对于每个输入排名,返回具有该排名的值 (浮点) 的估计值。

    TDIGEST.BYREVRANK key rank...对于每个输入的反向排名,返回具有该反向排名的值 (浮点) 的估计值。

  • 估计截尾均值

    TDIGEST.TRIMMED_MEAN key lowFraction highFraction检索指定分数之间平均值的估计值。

    这对于计算忽略异常值的平均值特别有用。例如,计算第 20 个百分位数和第 80 个百分位数之间的平均值。

  • 合并 sketch

    有时,合并草图很有用。例如,假设我们测量 3 台服务器的延迟,并且我们想要计算所有服务器组合的 90%、95% 和 99% 延迟。

    TDIGEST.MERGE destKey numKeys sourceKey... [COMPRESSION compression] [OVERRIDE]将多个草图合并为一个草图。

    如果destKey不存在,则会创建一个新草图。

    如果destKey是现有草图,则其值将与源键的值合并。要覆盖目标键内容,请使用OVERRIDE.

  • 检索草图信息

    TDIGEST.MINkey 和TDIGEST.MAX key以分别检索草图中的最小值和最大值。

    当 Sketch 为空时,两者都返回 NaN (Not a Number)。

    这两个命令都返回准确的结果,并且等效于TDIGEST.BYRANK key 0TDIGEST.BYREVRANK key 0分别。

    TDIGEST.INFO key以检索有关草图的一些附加信息。

  • 重置草图

    TDIGEST.RESET key清空草图并重新初始化它。

为本页评分
返回顶部 ↑