sorted set 是set的一個升級版本,它在set的基礎上增加了一個順序屬性, 這一屬性在添加修改元素的時候可以指定,每次指定後. zset會自動重新按新的值調整順序, 可以理解爲有2列的MySQL表, 一列存value,一列存順序. 操作中key理解爲zet的名字.sorted set 最長使用的方式應該是作爲索引來使用. sorted set操作方法如下:
1.zadd //向名稱爲key的zet中添加元素member, score用於排序. 如果該元素已經存在, 則根據score更新該元素的順序.
zadd zset 1 one
zadd zset 2 two
zadd zset 0 zero
zrange zset 0 -1
輸出:1)"zero"
輸出:2)"one"
輸出:3)"two"
2.zrange //返回名稱爲key的zset中memeber元素的排名(按score 從小到大排序)(既下標)
zrange zset 0 -1
輸出:1)"zero"
輸出:2)"one"
輸出:3)"two"
3.zrem //刪除名稱爲key的zset中的元素member
zrem zset zero
輸出:(integer)1 //刪除成功
zrange zset 0 -1
輸出:1)"one"
輸出:2)"two"
4.zincrby //如果在名稱爲Key的zset中已經存在元素member,則該元素的score增加increment; 否則向該集合中添加該元素,其score的值爲increment.
zadd num 1
zincrby num 2 2
zrange num 0 -1
輸出:1)"1"
輸出:2)"2"
5.zrank //返回名稱爲key的zset中member元素的排名(按score從小到大排序)
zrank num 1
輸出:(integer)0
6.zrevrank //返回名稱爲key的zet中member元素的排名(按score從小到大排序)
zrevrank num 1
輸出:(integer)0
7.zrevrange //返回名稱爲key的zset(按score從大到小排序)中的index從start到end的所有元素.
zrevrange num 0 1
輸出:1)"2"
輸出:2)"1"
8.zrangebyscore //返回集合中score在給定 區間的元素.
zrangebyscore num 0 2
輸出:1)"1"
輸出:2)"2"
9.zcount //返回集合中score在給定區間的數量
zcount num 0 2
輸出:(integer)2
10.zcard //返回集合中元素的個數
zcard num
輸出:(integer)2
11.zscore //返回給定元素對應的score
zscore num 2
輸出:"2"
12.zremrangebyrank //刪除集合中排名在給定區間的元素(從0開始按下標刪)
zremrangebyrank num 0 1
輸出:(integer)2
zrange num 0 -1
輸出:(empty list or set)
13.zremrangebyscore //刪除集合中score在給定區間的元素(從0開始按下標刪) (測試就是和zremrangebyrank用法一樣,待修正)
zadd num 0 1
zadd num 1 2
zadd num 2 3
zremrangebyscore num 0 1
zrange num 0 -1
輸出:1)"3"