redis的数据类型-sorted stes

来源:互联网 发布:fluent软件官方下载 编辑:程序博客网 时间:2024/06/06 10:40

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  顺序

0 0
原创粉丝点击