首页 > 解决方案 > 如何从redis中的zset获取分数列表

问题描述

是否可以从 zset 集合中获取所有密钥?

我需要创建一个关键搜索。键的形式为 id0+id1+id2。需要获取 id0 等于某个键或 id1 等于另一个键的所有记录。由于我不能总是使用 zrangebyscore,因此我需要获取所有密钥并在客户端上对其进行过滤。

标签: redis

解决方案


是的,在 Redis 版本 6.2.0 中是可能的

Redis 引入了一个新的命令ZUNION,你可以使用这个命令来获取 zset 的键。

https://redis.io/commands/zunion

ZUNION numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX] [WITHSCORES]

默认情况下,它只返回键,但如果需要,您也可以获取键和分数。

127.0.0.1:6380> ZADD zset2 100 test
(integer) 1
127.0.0.1:6380> ZUNION 1 zset2
1) "test"
127.0.0.1:6380>

推荐阅读