Redis Zset有序集合

2021-10-18 03:22:46 字數 2506 閱讀 9562

向有序集合新增乙個或多個成員,或者更新已存在成員的分數

zadd zset集合  score1 v1.. scoren vn
通過索引區間返回有序集合成指定區間內的成員

zrange zset集合 start stop [withscores]

通過分數返回有序集合指定區間內的成員

zrangebyscore zset集合 min max [withscores]

[limit offset count]

redis 127.0.0.1:6379> zadd salary 2500 jack                        # 測試資料

(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 # 顯示整個有序集

1)"jack"

2)"tom"

3)"peter"

redis 127.0.0.1:6379> zrangebyscore salary -inf +inf withscores # 顯示整個有序集及成員的 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"

返回有序集中指定分數區間內的成員,分數從高到低排序

zrevrangebyscore zset集合 max min [withscores]

[limit offset count]

redis 127.0.0.1:6379> zadd salary 10086 jack

(integer) 1

redis > zadd salary 5000 tom

(integer) 1

redis 127.0.0.1:6379> zadd salary 7500 peter

(integer) 1

redis 127.0.0.1:6379> zadd salary 3500 joe

(integer) 1

redis 127.0.0.1:6379> zrevrangebyscore salary +inf -inf # 逆序排列所有成員

1)"jack"

2)"peter"

3)"tom"

4)"joe"

redis 127.0.0.1:6379> zrevrangebyscore salary 10000 2000 # 逆序排列薪水介於 10000 和 2000 之間的成員

1)"peter"

2)"tom"

3)"joe"

移除有序集合中的乙個或多個成員

zrank  zset集合 值1 值2 ..

..

獲取有序集合的成員數

zcard zset集合
返回有序集中指定區間內的成員,通過索引,分數從高到底

zrevrange key start stop [withscores]
計算在有序集合中指定區間分數的成員數

zcount key min max
1.成績表

2.工資表

使用zset

權重執行判斷

有序集合 REDIS ZSET

命令 command key score value zadd myzset 1 one key是作為db最上層字典索引的key 儲存到底層的是score和value 1.如果第乙個元素符合以下條件的話,就建立乙個 redis encoding ziplist 編碼的有序集 redis zset底層...

redis Zset有序集合

127.0.0.1 6379 zadd zset 1 one 新增乙個元素 integer 1 127.0.0.1 6379 zadd zset 2 two 3 three 新增多個元素 integer 2 127.0.0.1 6379 zrange zset 0 1 1 one 2 two 3 t...

redis Zset有序集合型別(七)

存值 zaddmyset 1 one 取值 zrangemyset 0 1 127.0.0.1 6379 zadd myset 1 one 存值 分值為1 integer 1 127.0.0.1 6379 zadd myset 3 three 存值 分值為3 integer 1 127.0.0.1 ...