1. 程式人生 > 其它 >Redis的zSet命令合集

Redis的zSet命令合集

Redis的zSet命令合集

轉載:https://www.csdn.net/tags/NtTaUgxsMjY1MS1ibG9n.html

zset(sorted set:有序集合)
Redis zset 和 set 一樣也是string型別元素的集合,且不允許重複的成員。
不同的是每個元素都會關聯一個double型別的分數。
redis正是通過分數來為集合中的成員進行從小到大的排序。zset的成員是唯一的,但分數(score)卻可以重複。

redis 有序集合zset和集合set一樣也是string型別元素的集合,且不允許重複的成員。

不同的是 zset 的每個元素都會關聯一個分數(分數可以重複),redis 通過分數來為集合中的成員進行從小到大的排序。分數可以重複

1.zadd

將一個或多個 member 元素及其 score 值加入到有序集合 key 中,如果 member存在集合中,則更新值;score 可以是整數或浮點數.

#zadd key score member [score member…]
127.0.0.1:6379> zadd zs1 10 zhangsan 20 lisi 99 xiaoming
(integer) 3

2.zrem

刪除有序集合 key 中的一個或多個成員,不存在的成員被忽略,返回值:被成功刪除的成員數量,不包括被忽略的成員。

#zrem key member [member…]
127.0.0.1:6379> zrem zs1 lisi ll
(integer) 1
127.0.0.1:6379> zrange zs1 0 -1
1) "zhangsan"
2) "xiaoming"

3.zcard

獲取有序集 key 的元素成員的個數

返回值:key 存在返回集合元素的個數, key 不存在,返回 0

#zcard key
127.0.0.1:6379> zcard zs1
(integer) 3

4. zrange

查詢有序集合,指定區間的內的元素。集合成員按 score 值從小到大來排序。 start,stop 都是從 0 開始。0 是第一個元素,1 是第二個元素,依次類推。以 -1 表示最後一個成員,-2 表示倒數第二個成員。WITHSCORES 選項讓 score 和 value 一同返回。返回值:自定區間的成員集合.

127.0.0.1:6379> zadd zs1 10 zhangsan 20 lisi 99 xiaoming
(integer) 3
#zrange key start end
127.0.0.1:6379> zrange zs1 0 -1
1) "zhangsan"
2) "lisi"
3) "xiaoming"

5. zrevrange

返回有序集 key 中,指定區間內的成員。其中成員的位置按 score 值遞減(從大到小) 來排列。其它同 zrange 命令。

127.0.0.1:6379> zrange zs1 0 -1
1) "zhangsan"
2) "lisi"
3) "xiaoming"

#zrevrange key start stop [WITHSCORES]
127.0.0.1:6379> zrevrange zs1 0 -1
1) "xiaoming"
2) "lisi"
3) "zhangsan"

6.zrangebyscore

獲取有序集 key 中,所有 score 值介於 min 和 max 之間(包括 min 和 max)的成員,有序成員是按遞增(從小到大)排序。

min ,max 是包括在內 , 使用符號 ( 表示不包括。 min , max 可以使用 -inf ,+inf 表示最小和最大.

limit 用來限制返回結果的數量和區間。

withscores 顯 示 score 和 value

返回值:指定區間的集合資料

127.0.0.1:6379> zadd zs 1 a 2 b 3 c 4 d 5 e 6 f
(integer) 6
127.0.0.1:6379> zrange zs 0 -1
1) "a"
2) "b"
3) "c"
4) "d"
5) "e"
6) "f"

#zrangebyscore key mix max
127.0.0.1:6379> zrangebyscore zs 1 3 
1) "a"
2) "b"
3) "c"

#zrangebyscore key mix max withscores
127.0.0.1:6379> zrangebyscore zs 1 3 withscores 
1) "a"
2) "1"
3) "b"
4) "2"
5) "c"
6) "3"

#zrangebyscore key (mix max withscores
127.0.0.1:6379> zrangebyscore zs (1 3 withscores 
1) "b"
2) "2"
3) "c"
4) "3"

#zrangebyscore key mix (max withscores
127.0.0.1:6379> zrangebyscore zs 1 (3 withscores 
1) "a"
2) "1"
3) "b"
4) "2"

7.zrevrangebyscore

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

返回有序集 key 中, score 值介於 max 和 min 之間(預設包括等於 max 或 min )的所有的成員。有序整合員按 score 值遞減(從大到小)的次序排列。其他同 zrangebyscore.

127.0.0.1:6379> zrevrange zs 0 -1 
1) "f"
2) "e"
3) "d"
4) "c"
5) "b"
6) "a"
127.0.0.1:6379> zrevrange zs 0 -1 withscores
 1) "f"
 2) "6"
 3) "e"
 4) "5"
 5) "d"
 6) "4"
 7) "c"
 8) "3"
 9) "b"
10) "2"
11) "a"
12) "1"
127.0.0.1:6379> zrevrangebyscore zs 6 3 withscores 
1) "f"
2) "6"
3) "e"
4) "5"
5) "d"
6) "4"
7) "c"
8) "3"
127.0.0.1:6379> zrevrangebyscore zs (6 3 withscores 
1) "e"
2) "5"
3) "d"
4) "4"
5) "c"
6) "3"
127.0.0.1:6379> zrevrangebyscore zs 6 (3 withscores 
1) "f"
2) "6"
3) "e"
4) "5"
5) "d"
6) "4"
127.0.0.1:6379> zrevrangebyscore zs (6 (3 withscores 
1) "e"
2) "5"
3) "d"
4) "4"

8. zcount

zcount key min max

返回有序集 key 中, score 值在 min 和 max 之間(預設包括 score 值等於 min 或 max )的成員的數量

127.0.0.1:6379> zcount zs 1 4
(integer) 4

9. zrank

zrank key member

在獲取指定有序集合中指定元素的排名(排名從0開始)

127.0.0.1:6379> zrank zs a
(integer) 0
127.0.0.1:6379> zrank zs b
(integer) 1
127.0.0.1:6379> zrank zs c
(integer) 2

10. zscore

zscore key member

獲取指定有序集合中指定元素的分數

127.0.0.1:6379> zscore zs a
"1"
127.0.0.1:6379> zscore zs b
"2"
127.0.0.1:6379> zscore zs c
"3"