oreder set(有序集合)
集合本來是沒有順序的,現(xiàn)在要順序的話,就得為每個值加一個權(quán)重。在這篇文章中,我們統(tǒng)一用score來指代權(quán)重
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]內(nèi)的元素,并跳過offset個,取出N個
zrem key value1 value2……
刪除集合中的元素
zremrangebyscore key min max
作用:按照score來刪除元素,刪除score在[min,max]之間的
zremrangebyrank key start end
作用:按照排名刪除元素,刪除名次在[start,end]之間的
zcard key
返回元素個數(shù)
zcount key minscorre maxscore
返回權(quán)值在[minscore,maxscore]之間的數(shù)量
zinterstore destination numberkeys key1 key2 keyn
zinterstore destination numberkeys key1 key2 keyn [weight weight1 weight2] [aggregate sum|min|maz]
weights 2 1(設(shè)置第一個key里所有元素的權(quán)重為原來的基礎(chǔ)上乘2,第二個key的所有元素的權(quán)重為原來的基礎(chǔ)上乘1)
aggreate是說求出的交集元素的權(quán)值該為多少?(交集的幾個集合,這個同值的元素可能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