Redis Zrangebyscore 返回有序集合中指定分?jǐn)?shù)區(qū)間的成員列表。有序集成員按分?jǐn)?shù)值遞增(從小到大)次序排列。
具有相同分?jǐn)?shù)值的成員按字典序來(lái)排列(該屬性是有序集提供的,不需要額外的計(jì)算)。
默認(rèn)情況下,區(qū)間的取值使用閉區(qū)間 (小于等于或大于等于),你也可以通過(guò)給參數(shù)前增加 ( 符號(hào)來(lái)使用可選的開區(qū)間 (小于或大于)。
舉個(gè)實(shí)例:
ZRANGEBYSCORE zset (1 5
返回所有符合條件 1 < score <= 5 的成員,而
ZRANGEBYSCORE zset (5 (10
則返回所有符合條件 5 < score < 10 的成員。
redis Zrangebyscore 命令基本語(yǔ)法如下:
redis 127.0.0.1:6379> ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]
>= 1.0.5
指定區(qū)間內(nèi),帶有分?jǐn)?shù)值(可選)的有序集成員的列表。
redis 127.0.0.1:6379> ZADD salary 2500 jack # 測(cè)試數(shù)據(jù) (integer) 0 redis 127.0.0.1:6379> ZADD salary 5000 tom (integer) 0 redis 127.0.0.1:6379> ZADD salary 12000 peter (integer) 0 redis 127.0.0.1:6379> ZRANGEBYSCORE salary -inf +inf # 顯示整個(gè)有序集 1) "jack" 2) "tom" 3) "peter" redis 127.0.0.1:6379> ZRANGEBYSCORE salary -inf +inf WITHSCORES # 顯示整個(gè)有序集及成員的 score 值 1) "jack" 2) "2500" 3) "tom" 4) "5000" 5) "peter" 6) "12000" redis 127.0.0.1:6379> ZRANGEBYSCORE salary -inf 5000 WITHSCORES # 顯示工資 <=5000 的所有成員 1) "jack" 2) "2500" 3) "tom" 4) "5000" redis 127.0.0.1:6379> ZRANGEBYSCORE salary (5000 400000 # 顯示工資大于 5000 小于等于 400000 的成員 1) "peter"