如果M是常量(比如,用limit總是請求前10個元素),你可以認為是O(log(N))。
傳回key的有序集合中的分數在min和max之間的所有元素(包括分數等于max或者min的元素)。元素被認為是從低分到高分排序的。
具有相同分數的元素按字典序排列(這個根據redis對有序集合實作的情況而定,并不需要進一步計算)。
可選的LIMIT參數指定傳回結果的數量及區間(類似SQL中SELECT LIMIT offset, count)。注意,如果offset太大,定位offset就可能周遊整個有序集合,這會增加O(N)的複雜度。
可選參數WITHSCORES會傳回元素和其分數,而不隻是元素。這個選項在redis2.0之後的版本都可用。
##區間及無限
min和max可以是-inf和+inf,這樣一來,你就可以在不知道有序集的最低和最高score值的情況下,使用ZRANGEBYSCORE這類指令。
預設情況下,區間的取值使用閉區間(小于等于或大于等于),你也可以通過給參數前增加(符号來使用可選的開區間(小于或大于)。
舉個例子:
傳回所有符合條件1 < score <= 5的成員;
傳回所有符合條件5 < score < 10 的成員。
##傳回值
array-reply: 指定分數範圍的元素清單(也可以傳回他們的分數)。
##例子
本文作者:陳群
本文來自雲栖社群合作夥伴rediscn,了解相關資訊可以關注redis.cn網站。