redis zrevrangebyscore的用法是啥

小樊
81
2024-11-12 12:57:58
欄目: 云計(jì)算

ZREVRANGEBYSCORE 是 Redis 中的一個(gè)命令,用于根據(jù)分?jǐn)?shù)(score)從有序集合(sorted set)中獲取元素的逆序(從高到低)。具體用法如下:

ZREVRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]

參數(shù)說明:

  • key:有序集合的鍵名。
  • min:分?jǐn)?shù)的最小值??梢允褂?+inf 表示正無(wú)窮大,-inf 表示負(fù)無(wú)窮大。
  • max:分?jǐn)?shù)的最大值。可以使用 +inf 表示正無(wú)窮大,-inf 表示負(fù)無(wú)窮大。
  • [WITHSCORES]:可選參數(shù),表示同時(shí)返回元素的分?jǐn)?shù)。如果省略該參數(shù),只返回元素本身。
  • [LIMIT offset count]:可選參數(shù),表示限制返回的元素范圍。offset 表示起始位置(從0開始計(jì)數(shù)),count 表示返回的元素個(gè)數(shù)。

示例:

  1. 獲取有序集合 myzset 中分?jǐn)?shù)在 100 到 200 之間的所有元素及其分?jǐn)?shù):

    ZREVRANGEBYSCORE myzset 100 200 WITHSCORES
    
  2. 獲取有序集合 myzset 中分?jǐn)?shù)大于等于 150 的所有元素及其分?jǐn)?shù),并限制返回前 3 個(gè)元素:

    ZREVRANGEBYSCORE myzset 150 +inf LIMIT 0 3 WITHSCORES
    
  3. 獲取有序集合 myzset 中分?jǐn)?shù)在 -100 到 0 之間的所有元素(不包括0):

    ZREVRANGEBYSCORE myzset -100 0
    

0