1.sorted stes类型
2.方法
1.zadd: 向名称为key的zset中添加元素member,score用于排序。如果该元素存在,则更新其顺序。例:zadd myzset 1 one,(1);zadd myzset 2 two,(1);zadd myzset 3 two,(0);相同的值插入后返回0但是位置还是会更改,two不再是2了,对应位置为3了(1 - one , 3 - two),zrange myzset 0 -1 withscores(返回 one ,1 ,two,2)。 zrange myzset 0 -1 返回myzet的所有元素 0 第一个元素 -1 最后一个元素(都是索引),withscores显示顺序 ,输出 1 2 否则只输出 (one , two)
2.zrem:删除名称为key的zset中的元素member。例:zrange myzset 0 -1 withscores(返回 one ,1 ,two,2);zrem myzset two (1) ;zrange myzset 0 -1 withscores ( one ,1 )
3.zincrby:如果在名称为key的zset中已经存在元素member,则该元素的score增加increment,否则向该集合中添加该元素,其score的值为increment。例:zrange myzset 0 -1 withscores(返回 one ,1 ,two,2); zincrby myzset 2 one(因为one存在,所以1+2=3 返回 one 最近的位置3);zrange myzset 0 -1 withscores(返回 two,2,one ,3);zincrby myzset -2 one;(使用负数会减,3-2=1 一样的道理)
4.zrank:返回名称为key的zset中member元素的排名(它会按score[设置的顺序大小]从小到大排序再返回)即下标[下标 0 , 1]。例:zrange myzset 0 -1 withscores(返回 one ,1 ,two,2,three,5);zrank myzset three (2 返回的下标) zrank myzset one(0 返回的下标)
5.zrevrank:返回名称为key的zset中member元素的排名(它会按score[设置的顺序大小]从大到小排序)即下标。例:zrange myzset 0 -1 withscores(返回 one ,1 ,two,2,three,5);zrevrank myzset three (0 返回的下标) zrevrank myzset one(2 返回的下标)
6.zrevrange:返回名称为key的zset(按score从大到小顺序)中index从start到end的所有元素,和zrange相反。例:zrevrange myzset 0 -1 withscores(返回 three,5 ,two,2,one ,1);zrange myzset 0 -1 withscores(返回 one ,1 ,two,2,three,5);
7.zrangebyscore:返回集合中score 在给定区间的元素,例:zrange myzset 0 -1 withscores(返回 one ,1 ,two,2,three,3);zrangebyscore myzset 2 3 withscores(返回 two,2,three,3); 2 3 是顺序不是索引下标
8.zcount:返回集合中score在给定区间的数量。例:zrange myzset 0 -1 withscores(返回 one ,1 ,two,2,three,3); zcount myzset 23 (返回2 ,2个元素)
9.zcard:返回集合中所有的元素数量。例:zrange myzset 0 -1 withscores(返回 one ,1 ,two,2,three,3); zcard myzset (返回 3 , 3个元素)
10.zremrangebyrank:删除集合中排名在给定区间的元素。例:zrange myzset 0 -1 withscores(返回 one ,1 ,two,2,three,3); zremrangebyrank myzset 1 2 (返回2 删除了2个);(剩余 one,1 ) 1 2 索引下标
11.zremrangebyscore:删除集合中score在给定区间的元素。例:zrange myzset 0 -1 withscores(返回 one ,1 ,two,2,three,3); zremrangebyscore myzset 1 2 (返回2 删除了2个);(剩余 three,3 ) 1 2 score 顺序