腾讯云分布式缓存数据库 hyperloglog 族

HyperLogLog 族命令基于概率算法实现超大数据集的基数估计(不重复元素计数),每个 HyperLogLog 键仅占用固定约12KB内存,标准误差约0.81%。该族命令适用于 UV(独立访客)统计、搜索关键词去重计数、大规模去重检测等无需精确值的场景,以极低内存代价替代 Set 存储实现亿级基数估算。其核心命令按功能可分为以下三类。

相关产品
腾讯云分布式缓存数据库(兼容 Redis) 产品页,含版本规格、价格与购买入口。

一、基本介绍

·元素添加

PFADD:向 HyperLogLog 结构中添加一个或多个元素,内部通过哈希桶与概率算法记录元素特征。

·基数估计

PFCOUNT:返回一个或多个 HyperLogLog 键的基数估计值,支持直接统计多个键的并集基数。

·合并操作

PFMERGE:将多个 HyperLogLog 键合并为一个,取并集后存入目标键,适用于多日 UV 累计、多来源去重等跨时间/跨维度的基数聚合场景。

更多信息请参见 Valkey 产品文档:HyperLogLog 命令组。

二、命令支持概览

·基础命令:pfadd、pfcount、pfmerge 在 Redis 2.8 标准架构及4.0、5.0、6.2、7.0版本、Valkey 8.0、9.0的标准架构与集群架构中均完全支持。

·跨 Slot 限制:集群架构下,pfcount、pfmerge 不支持跨 Slot 操作;pfadd 不存在跨 Slot 访问场景。

三、命令兼容性矩阵

HyperLogLog 族命令在各版本与架构下的支持情况如下表所示(✓ 表示支持,✗ 表示不支持,— 表示该命令不存在跨 Slot 访问场景)。

命令 Valkey 9.0标准架构 Valkey 9.0集群架构 Redis 7.0/Valkey 8.0标准架构 Redis 7.0/Valkey 8.0集群架构 Redis 6.2标准架构 Redis 6.2集群架构 Redis 5.0标准架构 Redis 5.0集群架构 Redis 4.0标准架构 Redis 4.0集群架构 Redis 2.8标准架构 集群架构跨 Slot 支持
pfadd ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ —
pfcount ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✗
pfmerge ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✗
赞 (0)
上一篇 4天前
下一篇 4天前