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

Sorted Sets 族命令用于操作按分数(score)排序的唯一成员集合,是排行榜、优先级队列、延迟任务调度等场景的核心数据结构。其核心命令按功能可分为以下五类。

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

一、命令介绍

·成员增删与分数操作

·ZADD:添加成员及其分数(支持 NX/XX/GT/LT 条件)。

·ZREM / ZREMRANGEBYRANK / ZREMRANGEBYSCORE / ZREMRANGEBYLEX:按成员名、排名范围、分数范围或字典序范围删除。

·ZINCRBY:原子递增成员分数,适用于实时排行榜计分。

·排名与分数查询

·ZSCORE / ZMSCORE:查询单个或多个成员的分数。

·ZRANK / ZREVRANK:查询成员的正序/倒序排名。

·ZCARD / ZCOUNT / ZLEXCOUNT:统计成员总数、分数范围内成员数或字典序范围内成员数。

·ZRANDMEMBER:随机返回成员。

·范围检索

·ZRANGE / ZREVRANGE / ZRANGEBYSCORE / ZREVRANGEBYSCORE / ZRANGEBYLEX / ZREVRANGEBYLEX:按排名、分数或字典序范围检索成员,支持分页(LIMIT)。

·ZRANGESTORE:将范围检索结果存入新键。

·ZSCAN:以游标方式增量迭代。

·集合间运算

·ZUNIONSTORE / ZINTERSTORE:求并集或交集并存入新键(支持权重 WEIGHTS 与聚合 AGGREGATE)。

·ZDIFF / ZDIFFSTORE / ZINTER / ZUNION:直接返回差集、交集、并集结果。

·ZINTERCARD:快速统计交集基数。

·弹出操作(队列场景,Redis 5.0+ / Valkey 8.0+)

·ZPOPMIN / ZPOPMAX:弹出分数最低/最高的成员。

·BZPOPMIN / BZPOPMAX:阻塞式弹出。

·ZMPOP / BZMPOP(Redis 7.0+):从多个键中批量弹出,适用于延迟队列消费与优先级调度。

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

二、命令支持概览

·基础命令:zadd、zcard、zcount、zincrby、zinterstore、zlexcount、zrange、zrangebylex、zrangebyscore、zrank、zrem、zremrangebylex、zremrangebyrank、zremrangebyscore、zrevrange、zrevrangebylex、zrevrangebyscore、zscore、zrevrank、zscan、zunionstore,Redis 2.8标准架构及4.0、5.0、6.2、7.0版本、Valkey 8.0、9.0的标准架构与集群架构均支持。

·5.0+ 新增命令:zpopmax、zpopmin、bzpopmax、bzpopmin,仅 Redis 5.0、6.2、7.0 版本及 Valkey 8.0、9.0 版本支持。

·6.2+ 新增命令:zdiff、zdiffstore、zrandmember、zrangestore、zunion、zmscore、zinter,仅 Redis 6.2、7.0 版本及 Valkey 8.0、9.0 版本支持。

·7.0+ 新增命令:zmpop、bzmpop、zintercard,仅 Redis 7.0 版本及 Valkey 8.0、9.0 版本支持。

·跨 Slot 限制:集群架构下,zinterstore、zunionstore 不支持跨 Slot 操作。

三、命令兼容性矩阵

Sorted Sets 族命令在各版本与架构下的支持情况如下表所示(✓ 表示支持,✗ 表示不支持,— 表示该命令不存在跨 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 支持
zadd ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ —
zcard ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ —
zcount ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ —
zincrby ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ —
zinterstore ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✗
zlexcount ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ —
zrange ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ —
zrangebylex ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ —
zrangebyscore ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ —
zrank ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ —
zrem ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ —
zremrangebylex ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ —
zremrangebyrank ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ —
zremrangebyscore ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ —
zrevrange ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ —
zrevrangebylex ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ —
zrevrangebyscore ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ —
zscore ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ —
zrevrank ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ —
zscan ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ —
zunionstore ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✗
zpopmax ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✗ ✗ ✗ —
zpopmin ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✗ ✗ ✗ —
bzpopmax ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✗ ✗ ✗ —
bzpopmin ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✗ ✗ ✗ —
zdiff ✓ ✓ ✓ ✓ ✓ ✓ ✗ ✗ ✗ ✗ ✗ —
zdiffstore ✓ ✓ ✓ ✓ ✓ ✓ ✗ ✗ ✗ ✗ ✗ —
zinter ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✗ —
zrandmember ✓ ✓ ✓ ✓ ✓ ✓ ✗ ✗ ✗ ✗ ✗ —
zrangestore ✓ ✓ ✓ ✓ ✓ ✓ ✗ ✗ ✗ ✗ ✗ —
zunion ✓ ✓ ✓ ✓ ✓ ✓ ✗ ✗ ✗ ✗ ✗ —
zmscore ✓ ✓ ✓ ✓ ✓ ✓ ✗ ✗ ✗ ✗ ✗ —
zmpop ✓ ✓ ✓ ✓ ✗ ✗ ✗ ✗ ✗ ✗ ✗ —
bzmpop ✓ ✓ ✓ ✓ ✗ ✗ ✗ ✗ ✗ ✗ ✗ —
zintercard ✓ ✓ ✓ ✓ ✗ ✗ ✗ ✗ ✗ ✗ ✗ —
赞 (0)
上一篇 4天前
下一篇 4天前