Sort Set类型和Set类型类似,Sort Set多了一个double类型的整数score进行排序,
官网的说明是Sort Set是同过SkipList 跳跃表 和 HashTable组合实现的。SkipList
负责排序,HashTable负责存储集合中元素的值。可以使用Sort Set 实现一个具有优先级的队列。而List实现的只有单双向队列。
常用操作命令:
1.添加元素
zadd myzset 1 one
zadd myzset 2 two
和set类似。
2.查询集合中区间中的值 (withscores)
zrange myzset 0 -1 withscores
0 到 -1 表示取得所有的值 和List类似。加withscores表示显示元素的排序值。
3.移除有序集合中的值
zrem myzset one
4.增加元素的score值,重新排序
zincrby myzset 1 one
增加one元素的排序值加1.并对集合中的元素重新排序。
5.返回指定元素在集合中的排名下标,按score从小到大排序。
zrank myzset one
返回的是one元素在myzset中的score排序 这里是0
6.同上,但是按从大到小排序。
zrevrank myzset one
7.反序排序显示
zrevrange myzset 0 -1 withscores
和zrange类似只是按score相反的排序。
8.返回集合中score在区间里面的元素
zrangebyscore myzset 1 2
返回集合中元素score在 1 -2 中的元素 ,这里返回 one two
9.返回集合中score在区间里面的元素数量.
zcount myzset 1 2
这里返回的是2
10.返回集合中元素的数量 和 scard类似
zcard myzset
11.返回元素对应的score
zscore myzset one
这里返回的是 1.
12.删除集合中排名在指定区间内的元素
zremrangebyrank myzset 0 1
删除从小到大排序为0 1两个元素。
13.删除集合中score在指定区间内的元素
zremrangebyscore myzset 1 2
这里删除了 one two两个元素 返回 2