一腊状、有序集合sortedSet
有序集合存儲(chǔ)著成員和分值之間的映射枫振,并且提供了分值處理命令,以及根據(jù)分值大小有序地獲取fetch或掃描scan成員和分值的命令崔步。
有序集合sortedSet中的元素由倆部分組成:
? ? ? ? part1.成員member
? ? ? ? part2.分值score
? 每一個(gè)成員member在集合中都對(duì)應(yīng)著一個(gè)score分值。
1.操作有序集合的常用命令
zadd zadd key-name score member [score member ...]? ? ? ? ? ? ? ? ? ? #將帶有給定分值的成員添加到有序集合里面
? ? zrem? ? ? ? ? ? ? ? zrem? ? key-name? member? [member ....]? ? ? ? ? ? ? ? #從有序集合里面移除給定的成員娱俺,并返回被移除成員的數(shù)量
? ? zcard? ? ? ? ? ? ? ? zcard? ? zcard? key-name? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #返回有序集合包含的成員數(shù)量
? ? zincrby? ? ? ? ? ? ? zincrby? key-name? ? increment? member? ? ? ? ? ? ? ? #將member成員的分值加上increment
? ? zcount? ? ? ? ? ? ? zcount? ? key-name? ? min? max? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #返回分值介于min和max之間的成員數(shù)量
? ? zrank? ? ? ? ? ? ? ? zrank? ? key-name? ? member? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#返回成員member在有序集合中的排名
? ? zscore? ? ? ? ? ? ? zscore? ? key-name? ? member? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #返回成員member的分值
? ? zrange? ? ? ? ? ? ? zrange? ? key-name? ? start? ? stop [withscores]? ? ? ? #返回有序集合中排名介于start和stop之間的成員稍味,
? ? ? ? 如果給定了可選的withscores選項(xiàng),那么命令會(huì)將成員的分值一并返回
Connected.
aliyun_mine:0>zadd? my-sortedset-key? ? 5? a? 6? b? 7? c
"3"
aliyun_mine:0>zcard? my-sortedset-key
"3"
aliyun_mine:0>zrange my-sortedset-key? 0? ? -1? withscores
"ERR syntax error"
aliyun_mine:0>zrange my-sortedset-key 0? -1 withscores
1)? "a"
2)? "5"
3)? "b"
4)? "6"
5)? "c"
6)? "7"
aliyun_mine:0>
#使用zcard 獲取有序集合包含的成員數(shù)量
命令格式:
? ? zcard? key-name
demo:
#使用zincrby命令將member成員的分值增加increment
zincrby? key-name? incrment? member
把成員a的分值增加2:
zincrby my-sortedset-key 2 a
#獲取成員member的分值
zscore? key-name? member?
demo:
獲取成員a的分值:
zscore my-sortedset-key a
獲取成員member在有序集合中的排名:
#獲取成員member在有序集合中的排名
zrank? key-name? member
demo:
#從有序集合里面移除給定的成員
zrem? key-name? [member ...]
#把成員a,c從有序集合my-sortedset-key中移除
zrem? my-sortedset-key? ? a? c
demo:
#獲取分值介于min和max之間的成員數(shù)量
zcount? key-name? min? max
#獲取有序集合里成員member的排名荠卷,成員按照分值從大到小排列:
命令格式:
zrevrank? ?key-name? ?member
zrevrank my-sortedset-key m2
demo:
#獲取有序集合中給定排名范圍內(nèi)的成員模庐,成員按照分值從大到小排列
zrevrange? key-name? start? stop?