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"