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 傳回有序集合區間
通過索引區間傳回有序集合成指定區間内的成員
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
權重執行判斷