TDIGEST.MERGE
语法
TDIGEST.MERGE destination-key numkeys source-key [source-key ...] [COMPRESSION compression] [OVERRIDE]
- 可用版本
- Redis Open Source / Bloom 2.4.0
- 时间复杂度
- O(N*K),其中 N 是质心数量,K 是输入草图数量
- ACL 类别
-
@tdigest,@write,@slow,
将多个 t-digest 草图合并到一个草图中。
必需参数
destination-key
是用于合并观察值的 t-digest 草图的键名。
如果 destination-key 不存在,则创建一个新的草图。
如果 destination-key 是现有草图,其值将与源键的值合并。要覆盖目标键的内容,请使用 OVERRIDE。
numkeys
要合并观察值来源的草图数量(1 个或更多)。source-key
每个都是要合并观察值来源的 t-digest 草图的键名。可选参数
COMPRESSION compression
是准确性和内存消耗之间可控的权衡。100 是常见的值,适用于一般用途。1000 更准确。如果未传递值,默认压缩值为 100。有关准确性与压缩参数之间关系的更多信息,请参阅 The t-digest: Efficient estimates of distributions。
未指定 COMPRESSION 时
- 如果
destination-key不存在或指定了OVERRIDE,则压缩值设置为所有源草图中的最大值。 - 如果
destination-key已存在且未指定OVERRIDE,则其压缩值不会改变。
OVERRIDE
指定时,如果 `destination-key` 已存在,则会覆盖它。返回值
成功时返回 OK,否则返回错误。
示例
redis> TDIGEST.CREATE s1
OK
redis> TDIGEST.CREATE s2
OK
redis> TDIGEST.ADD s1 10.0 20.0
OK
redis> TDIGEST.ADD s2 30.0 40.0
OK
redis> TDIGEST.MERGE sM 2 s1 s2
OK
redis> TDIGEST.BYRANK sM 0 1 2 3 4
1) "10"
2) "20"
3) "30"
4) "40"
5) "inf"