w狸猫 2017-11-10 02:19 采纳率: 0%
浏览 943

redis sort set 想要查询 排在member 以后的10个元素

redis sort set 想要查询 排在member 以后的10个元素,但是这个sort不断有新元素加入

  • 写回答

1条回答 默认 最新

  • lshen01 2023-03-16 09:55
    关注

    参考GPT和自己的思路:

    非常感谢您的提问。如果您想要查询 redis sort set 中 排在某一个 member 后面的 10 个元素,可以使用 ZRANK 命令获取该 member 的排名(rank),然后使用 ZRANGE 命令获取排序在这个排名后面的 10 个元素,命令如下:

    ZADD mysortset 10 a 20 b 30 c 40 d 50 e
    ZRANK mysortset b
    ZRANGE mysortset 1 10 WITHSCORES
    

    这里的 mysortset 是您要查询的 sort set 的名称,其中 a、b、c、d、e 分别为元素成员,10、20、30、40、50 分别为每个成员的分值。

    首先,使用 ZRANK 命令获取 member b 的排名(rank),该命令会返回 member b 的排名,这里为 1。然后使用 ZRANGE 命令获取排名在 1 后的 10 个元素,该命令会返回从排名2到排名11的所有元素及其分值。如果 sort set 中有新元素加入,查询结果不会受到影响。

    希望我的答复对您有所帮助,如果您还有其他问题,请随时与我联系。

    评论

报告相同问题?