此類型和 set 一樣也是 string 類型元素的集合,且不允許重復的元素
不同的是每個元素都會關聯一個double類型的分數,redis正是通過分數來為集合中的成員進行從小到大的排序
有序集合的成員是唯一,但分數(score)卻可以重復
1. zadd - 添加
語法:zadd key score value [score value … …]
> zadd zset1 20 chaozhou # 添加一個
1> zadd zset1 10 jieyang 30 shantou # 添加多個
2
2. 獲取
2.1 zrange - 獲取所有值(默認排序)
語法:zrange sortedset start end [withscores]
- 根據那個值的大小進行了排序,例如上面的 10 20 30
> zrange zset1 0 -1
1) "jieyang"
2) "chaozhou"
3) "shantou"
2.2 zrevrange - 獲取所有值(從小到大和從大到小)
zrangebyscore sortedset -inf +inf:從小到大
zrevrange sortedset 0 -1:從大到小
> zrangebyscore zset1 -inf +inf #從小到大
1) "jieyang"
2) "chaozhou"
3) "shantou"> zrevrange zset1 0 -1 #從大到小
1) "shantou"
2) "chaozhou"
3) "jieyang"
2.3 zrangebyscore - 獲取值且附帶數值
zrangebyscore sortedset -inf +inf withscores:從小到大且附帶值
> zrangebyscore zset1 -inf +inf withscores # 顯示從小到大且附帶值
1) "jieyang"
2) "10"
3) "chaozhou"
1) "20"
2) "shantou"
3) "30"> zrangebyscore zset1 -inf 20 withscores # 顯示從小到大,且數值小于20的
1) "jieyang"
2) "10"
3) "chaozhou"
1) "20"
2.4 zcard - 獲取有序集合中的個數
zcard sortedset
> zcard zset1
3
2.5 zcount - 獲取指定區間成員數量
語法:zcount sortedset start end (strat 和 end是指數值)
> zcount zset1 10 60
3
3. zrem - 刪除
語法:zrem key value
> zrange zset1 0 -1
1) "jieyang"
2) "chaozhou"
3) "shantou"> zrem zset1 jieyang # 刪除 jieyang 這個元素
1> zrange zset1 0 -1
1) "chaozhou"
2) "shantou"