六、orderset有序集合

oreder set(有序集合)

集合本来是没有顺序的,现在要顺序的话,就得为每个值加一个权重。在这篇文章中,我们统一用score来指代权重

zadd key score1 vlue1 score2 value2……

添加元素
zadd names 18 lilky 19 dafanzi 16 xiaofanzi

zrank key value

查询value的排名(升序从0开始)

zrevrank key value

查询value的排名(降序从0开始)

zrange key start stop [withscores]

把集合排序后,返回名次[start,stop]的元素
默认是升序排列
withscores是把score也打印出来

zrevrange key start stop [withscores]

作用,把集合降序排列,取名次[start,stop]之间的元素

zrangebyscore key min max limit offset N [withcores]

作用:集合(升序)排序后,取score在[min,max]内的元素,并跳过offset个,取出N个

zrem key value1 value2……

删除集合中的元素

zremrangebyscore key min max

作用:按照score来删除元素,删除score在[min,max]之间的

zremrangebyrank key start end

作用:按照排名删除元素,删除名次在[start,end]之间的

zcard key

返回元素个数

zcount key minscorre maxscore

返回权值在[minscore,maxscore]之间的数量

zinterstore destination numberkeys key1 key2 keyn

zinterstore destination numberkeys key1 key2 keyn [weight weight1 weight2] [aggregate sum|min|maz]
weights 2 1(设置第一个key里所有元素的权重为原来的基础上乘2,第二个key的所有元素的权重为原来的基础上乘1)
aggreate是说求出的交集元素的权值该为多少?(交集的几个集合,这个同值的元素可能score不同)。默认就是sum ,你也可以采取不同的方式
numkeys是说明你要让几个集合求交集
zadd lisi 2 cat 3 dos 4 horse
zadd wangwu 3 cat 2 dogs 5 horse 6 donkey
zinterstore result 2 lisi wangwu aggregate sum

zunionstore

你可能感兴趣的:(六、orderset有序集合)