天天看點

Redis Zset有序集合1.zadd 添加一個或多個值 并且區分SCORE2.zrange 傳回有序集合區間3.zrangebyscore 通過分數score排名,從低到高4.Zrevrangebyscore通過分數score排名,從高到低5.Zrevrangebyscore通過分數score排名,從高到低6.zcard 計算zset有序集合中的個數7.Zrevrange 傳回值 通過索引,分數從高到底8.Zrevrange 擷取指定區間的成員數量總結使用

Redis Zset有序集合

  • 1.zadd 添加一個或多個值 并且區分SCORE
  • 2.zrange 傳回有序集合區間
  • 3.zrangebyscore 通過分數score排名,從低到高
  • 4.Zrevrangebyscore通過分數score排名,從高到低
  • 5.Zrevrangebyscore通過分數score排名,從高到低
  • 6.zcard 計算zset有序集合中的個數
  • 7.Zrevrange 傳回值 通過索引,分數從高到底
  • 8.Zrevrange 擷取指定區間的成員數量
  • 總結使用

1.zadd 添加一個或多個值 并且區分SCORE

向有序集合添加一個或多個成員,或者更新已存在成員的分數
ZADD zset集合  SCORE1 v1.. SCOREN vN
           

2.zrange 傳回有序集合區間

通過索引區間傳回有序集合成指定區間内的成員
Redis Zset有序集合1.zadd 添加一個或多個值 并且區分SCORE2.zrange 傳回有序集合區間3.zrangebyscore 通過分數score排名,從低到高4.Zrevrangebyscore通過分數score排名,從高到低5.Zrevrangebyscore通過分數score排名,從高到低6.zcard 計算zset有序集合中的個數7.Zrevrange 傳回值 通過索引,分數從高到底8.Zrevrange 擷取指定區間的成員數量總結使用

3.zrangebyscore 通過分數score排名,從低到高

通過分數傳回有序集合指定區間内的成員
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"
           

4.Zrevrangebyscore通過分數score排名,從高到低

傳回有序集中指定分數區間内的成員,分數從高到低排序
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"
           

5.Zrevrangebyscore通過分數score排名,從高到低

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

6.zcard 計算zset有序集合中的個數

擷取有序集合的成員數
ZCARD zset集合
           

7.Zrevrange 傳回值 通過索引,分數從高到底

傳回有序集中指定區間内的成員,通過索引,分數從高到底

8.Zrevrange 擷取指定區間的成員數量

計算在有序集合中指定區間分數的成員數
ZCOUNT key min max
           

總結使用

1.成績表

2.工資表

使用zset

權重執行判斷

繼續閱讀