redis zrangebyscore 怎么用

小樊
81
2024-11-09 21:39:11
欄目: 云計(jì)算

ZRANGEBYSCORE 是 Redis 中的一個(gè)命令,用于根據(jù)分?jǐn)?shù)范圍獲取有序集合(sorted set)中的元素

基本語(yǔ)法:

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

參數(shù)說(shuō)明:

  • key:有序集合的鍵名。
  • minmax:分?jǐn)?shù)的最小值和最大值,用于篩選范圍內(nèi)的元素??梢允褂?-inf+inf 分別表示負(fù)無(wú)窮和正無(wú)窮。
  • WITHSCORES:可選參數(shù),表示是否返回元素的分?jǐn)?shù)。如果為 true,則返回一個(gè)包含元素及其分?jǐn)?shù)的列表;如果為 false,則只返回元素。
  • LIMIT offset count:可選參數(shù),表示返回結(jié)果的范圍。offset 是結(jié)果集的起始位置(從 0 開(kāi)始),count 是要返回的元素?cái)?shù)量。

示例:

假設(shè)我們有一個(gè)有序集合 my_scores,其中包含以下元素及其分?jǐn)?shù):

元素 分?jǐn)?shù)
Alice 90
Bob 80
Carol 70
Dave 60
Eve 50
  1. 獲取分?jǐn)?shù)在 60 到 70 之間的元素:
ZRANGEBYSCORE my_scores 60 70

返回結(jié)果:

元素 分?jǐn)?shù)
Dave 60
Eve 50
  1. 獲取分?jǐn)?shù)在 60 到 70 之間且包含分?jǐn)?shù)的列表:
ZRANGEBYSCORE my_scores 60 70 WITHSCORES

返回結(jié)果:

元素 分?jǐn)?shù)
Dave 60
Eve 50
  1. 獲取分?jǐn)?shù)在 60 到 70 之間的前兩個(gè)元素:
ZRANGEBYSCORE my_scores 60 70 LIMIT 0 2

返回結(jié)果:

元素 分?jǐn)?shù)
Dave 60
Eve 50

0