轉載請註明出處:
目錄
zadd key score member
示例:
127.0.0.1:6379> zadd user:visit:rank 60 1001 (integer) 1 127.0.0.1:6379>
zrem key member
示例:
127.0.0.1:6379> zrem user:visit:rank 1001 (integer) 1 127.0.0.1:6379>
zscore key member
示例
127.0.0.1:6379> zscore user:visit:rank 1001 (nil) 127.0.0.1:6379> zscore user:visit:rank 1002 "60" 127.0.0.1:6379>
4.zincrby 為有序集合key中元素增加分值
zincrby key increment member
為有序集合key中元素member的分值加上increment
示例
127.0.0.1:6379> zscore user:visit:rank 1002 "60" 127.0.0.1:6379> zincrby user:visit:rank 20 1002 "80" 127.0.0.1:6379>
為 1002 使用者增加20分,增加20分之後返回新的分數
應用場景:更新排名的依據,如:閱讀量排行榜,每閱讀一次,增加一次閱讀量
5.zcard獲取有序集合key中元素總個數
zcard key
示例
127.0.0.1:6379> zcard user:visit:rank (integer) 1 127.0.0.1:6379>
應用場景:獲取排行集合的元素總個數
6.zrange 正序獲取分值範圍內的元素
zrange key start stop [withscores]
正序獲取有序集合key從start下標到stop下標的元素;使用withscores 引數時,返回的集合元素帶有分數,不適用withscores的引數時,直接返回排名
注意:引數start和stop都是基於零的索引,即0是第一個元素,1是第二個元素,以此類推。
它們也可以是負數,表示從有序集合的末尾的偏移量,其中-1是有序集合的最後一個元素,-2是倒數第二個元素,等等。
示例:
127.0.0.1:6379> zrange user:visit:rank 1 10 withscores 1) "1003" 2) "66" 3) "1002" 4) "80" 5) "1005" 6) "96" 127.0.0.1:6379> zrange user:visit:rank 0 10 1) "1004" 2) "1003" 3) "1002" 4) "1005" 127.0.0.1:6379>
應用場景:根據打分的升序排序獲取元素集合
7.zrevrange 倒序獲取集合元素
zrevrange key start stop [withscores]
倒序獲取有序集合key從start下標到stop下標的元素
注意:引數start和stop都是基於零的索引,即0是第一個元素,1是第二個元素,以此類推。
它們也可以是負數,表示從有序集合的末尾的偏移量,其中-1是有序集合的最後一個元素,-2是倒數第二個元素,等等。
示例:
127.0.0.1:6379> zrevrange user:visit:rank 1 10 1) "1002" 2) "1003" 3) "1004" 127.0.0.1:6379> zrevrange user:visit:rank 1 10 withscores 1) "1002" 2) "80" 3) "1003" 4) "66" 5) "1004" 6) "16" 127.0.0.1:6379>
應用場景:獲取榜單資料(根據打分從高到底)
8.zrank獲取有序集合中元素key的排名
zrank key member
示例:
127.0.0.1:6379> zrank user:visit:rank 1002 (integer) 2 127.0.0.1:6379>
應用場景:獲取自己的排名
9.zrangebyscore 獲取有序集合中分數區間的元素
zrangebyscore key min max [ withscores ] [limit offset count]
根據分數區間獲取指定數量的集合,withscores 返回key時同時返回對應的分數;limit 為分頁標識;offset 為分頁的起始位;count 為分頁的數量
示例:
127.0.0.1:6379> zrangebyscore user:visit:rank 60 90 1) "1003" 2) "1002" 127.0.0.1:6379> zrangebyscore user:visit:rank 60 90 withscores 1) "1003" 2) "66" 3) "1002" 4) "80" 127.0.0.1:6379> zrangebyscore user:visit:rank 60 90 withscores limit 0 1 1) "1003" 2) "66" 127.0.0.1:6379> zrangebyscore user:visit:rank 60 90 withscores limit 1 1 1) "1002" 2) "80" 127.0.0.1:6379> zrangebyscore user:visit:rank 60 90 withscores limit 1 2 1) "1002" 2) "80" 127.0.0.1:6379> zrangebyscore user:visit:rank 60 90 withscores limit 0 2 1) "1003" 2) "66" 3) "1002" 4) "80" 127.0.0.1:6379> zrangebyscore user:visit:rank 60 90 withscores limit 2 1 (empty list or set) 127.0.0.1:6379>
應用場景:分頁獲取排名元素集合
10.zcount 獲取分值區間的元素數量
zcount key min max
示例:
127.0.0.1:6379> zcount user:visit:rank 60 90 (integer) 2 127.0.0.1:6379>