Redis-ZSet常用命令
-
zadd key score member[{score member}...]
創建或設置指定key對應的有序集合,根據每個值對應的score來排名,升序。例如有命令 zadd key1 10 A 20 B 30 D 40 C;那么真實排名是 A B D C
-
zrem key member
刪除指定key對應的集合中的member元素
-
zcard key
返回指定key對應的有序集合的元素數量
-
zincrby key increment member
將指定key對應的集合中的member元素對應的分值遞增加 increment
-
zcount key min max
返回指定key對應的有序集合中,分值在min~max之間的元素個數
-
zrank key member
返回指定key對應的有序集合中,指定元素member在集合中排名,從0開始切分值是從小到大升序
-
zscore key member
返回指定key中的集合中指定member元素對應的分值
-
zrange key min max [withscores]
返回指定key對應的有序集合中,索引在min~max之間的元素信息,如果帶上 withscores 屬性的話,可以將分值也帶出來
-
zrevrank key member
返回指定key對應的集合中,指定member在其中的排名,注意排名從0開始且按照分值從大到小降序
-
zrevrange key start end [withscores]
指定key對應的集合中,分值在 start~end之間的降序,加上 withscores 的話可以將分值以及value都顯示出來
-
zrangebyscore key start end [withscores]
同 zrange命令不同的是,zrange命令是索引在startend范圍的查詢,而zrangebyscore命令是根據分值在startend之間的查詢且升序展示
-
zrevrangebyscore key max min [withscores]
同zrangebyscore命令不同的是,zrangebyscores是根據分值從小到大升序展示,而zrevrangebyscore命令是從max到min降序展示
-
zremrangebyrank key start end
移除指定key對應集合中索引在start~end之間(包括start和end本身)的元素
-
zremrangebyscore by min max
同zremrangebyrank命令類似,不同的該命令是刪除分值在min~max之間的元素
-
zinterstore desk-key key-count key...
獲取指定數量的key的交集。例如有 key1:{10:A,20:B,30:C},key2{40:B,50:C,60:D},那么命令 zinterstore key3 2 key1 key2 意思就是 將key1 key2這兩個集合的交集 賦給key3,如何獲取key1與key2的交集呢。 key1中存在 A B C,key2中存在 B C D,那么交集就是 B 和 C,且 B與C對應的score也會疊加,即 key3{B:20+40=60,C:30+50=80}
-
zunionstore desk-key key-count key...
獲取指定數量key的並集,例如有 key1{10:A,20:B,30:C},key2{40:B,50:C,60:D},可以看出 A和D不是key1與key2共有的,但是並集中只要存在就會記錄進去,然后B與C是共有的,即 並集的結果就是 key3{10:A,B:60,D:60,C:80}