Redis PFMERGE 命令
语法
1 | PFMERGE destkey [sourcekey [sourcekey ...]] |
可用版本
≥ 2.8.9
时间复杂度
$O(N)$
N 为需要的 HyperLogLog 的数量。
ACL类别
@write
, @hyperloglog
, @slow
将多个 HyperLogLog 合并为一个 HyperLogLog,合并后的 HyperLogLog 的基数估算值是通过对所有给定 HyperLogLog 进行并集计算得出的。
合并后的 HyperLogLog 会被储存在 destkey
键里面,如果该键并不存在,那么命令在执行之前,会先为该键创建一个空的 HyperLogLog。如果该键存在,则将其视为源集之一,其基数将包含在计算的 HyperLogLog 的基数中。
简单来说就是,把多个 HyperLogLog 合并到一起,得到一个代表并集基数的HyperLogLog,如果目标 key 存在,也会一起合并,得到的目标 key 就是最终的合并结果。
返回值
返回 OK
。
示例 1
将两个 HyperLogLog 合并为一个 HyperLogLog,并储存在一个不存在的键上:
1 | redis> PFADD hll:1 a b c |
示例 2
将两个 HyperLogLog 合并为一个 HyperLogLog,并储存在一个已经存在的键上:
1 | redis> PFADD hll:1 a b c |
(END)
All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.