zset是有序的set集合,这个有序和list不一样,这个zset通常是升序/降序,排列的规则是赋予元素中的权重,比如分数。对于zset的元素要求仍然是互异的。
zset命令
1.zadd

添加的时候,既要添加元素,也要添加分数(权重)(pair)
xx:只更新元素的权重 nx只添加没有的元素,不做更新
lt:只更新以存在的元素权重,只有新权重比旧权重小才会更新,不会阻止添加新元素
gt:大了才更新
ch:不仅返回新增元素个数,还会返回被修改的元素个数
incr:基于现有的元素进行运算
如果什么选项都不带,就是无元素则添加,有元素则更新。
- zcard key 返回zset元素个数
3.zcount key min max 返回权重在范围[min,max] 的元素个数,如果想排除边界可以写成(min,(max,还有一个类似命令,zrangebyscore,根据分数找元素
4.zrange key start stop [withscore] :返回下标范围内的元素(已排序) 加上选项就是带着权重一起返回
5.zpopmax key [count] 删除分数最高的元素(count个)(如果分数相同会根据member字典序排序)
6.bzpopmax key [key2...] timeout 阻塞版本的zpopmax
7.zpopmin,bzpopmin同理
8.zrank key member 获取member在zset的排名(下标)
9.zscore key member获取member的分数
10.zrem key member [member...] 删除元素
- zincrby key n element 给element元素分数加n
12.zinter、zunion、zdiff(交并差)