zrange
1. 基本語法
zrange(key
, start
,stop
, ["WITHSCORES"]
,callback
)
key
, start
,stop
, ["WITHSCORES"]
,callback
) 與zrevrange相反,分數先「由小到大」排序,再根據start
以及stop
篩選索引範圍,並回傳有序集合中的成員[分數]。
2. 範例
(1) 按分數「由小到大」取得集合成員
client.del('order:set');
client.zadd('order:set', 3, 'A');
client.zadd('order:set', 2, 'B');
client.zadd('order:set', 1, 'C');
client.zrange('order:set', 0, -1, redis.print);
Reply: C,B,A
(2) 取得排序成員及對應分數
client.zadd('order:set', 3, 'A');
client.zadd('order:set', 2, 'B');
client.zadd('order:set', 1, 'C');
client.zrange('order:set', 0, -1, "WITHSCORES", (err, obj) => {
console.log(obj);
});
[ 'C', '1', 'B', '2', 'A', '3' ]
(3) 若分數相同,則依字典序(lexicographic ordering)排序成員
client.del('order:set');
client.zadd('order:set', 1, '1');
client.zadd('order:set', 1, '2');
client.zadd('order:set', 1, '12');
client.zrange('order:set', 0, -1, redis.print);
Reply: 1,12,2
client.del('order:set');
client.zadd('order:set', 1, 'B');
client.zadd('order:set', 1, 'A');
client.zadd('order:set', 1, '2');
client.zadd('order:set', 1, '1');
client.zadd('order:set', 1, '二');
client.zadd('order:set', 1, '一');
client.zadd('order:set', 1, '@');
client.zadd('order:set', 1, '!');
client.zrange('order:set', 0, -1, redis.print);
Reply: !,1,2,@,A,B,一,二
Last updated
Was this helpful?