首页 > 解决方案 > Redis:特定 SMEMBERS 的排序集

问题描述

我是 Redis 的新手,并尝试为作为悲伤的一部分的特定值显示排序集。有没有办法在 Redis 中做到这一点?

SADD friends "Sarah"
SADD friends "Lisa"
SADD friends "Tim"


ZADD users 200 "Sarah"
ZADD users 133 "Lisa"
ZADD users 410 "Peter"
ZADD users 280 "Tim"
ZADD users 205 "Hans"

我想仅与朋友一起显示带有分数的排序集。

1) "Tim"
2) "280"
3) "Sarah"
4) "200"
5) "Lisa"
6) "133"

标签: redissortedset

解决方案


您可以使用 ZINTERSTORE,因为它也可以与常规 SET 一起使用。请注意,它将使用 1 作为元素分数,但您可以使用权重 0 将其删除:

ZINTERSTORE aux_zset 2 friends users weights 0 1

结果 ZSET 有你的答案:

127.0.0.1:6379> zrange aux_zset 0 -1 withscores
1) "Lisa"
2) "133"
3) "Sarah"
4) "200"
5) "Tim"
6) "280"

推荐阅读