ZRANK

作者: NotFoundW | 来源:发表于2020-04-17 14:57 被阅读0次

ZRANK

返回有序集中指定成员的排名,按分数值递增(从小到大)顺序排列。

ZREVRANK就是从大到小排序,其他与ZRANK没区别,不再做记录

Command

$ redis-cli -h 127.0.0.1 -p 6379
127.0.0.1:6379> zadd salary 100 Tom 200 Lily 300 Paul 400 Jesse
(integer) 4
127.0.0.1:6379> zrank salary Tom
(integer) 0
127.0.0.1:6379> zrank salary Lily
(integer) 1
127.0.0.1:6379> zrank salary Paul
(integer) 2
127.0.0.1:6379> zrank salary Jesse
(integer) 3
127.0.0.1:6379> zrank salary fakeMember
(nil)
127.0.0.1:6379> EXISTS fakeSortedSetKey
(integer) 0
127.0.0.1:6379> zrank fakeSortedSetKey fakeMember
(nil)

Code

func zrank(c redis.Conn) {
    defer c.Do("DEL", "salary")
    c.Do("ZADD", "salary", 100, "Tom", 200, "Lily", 300, "Paul", 400, "Jesse")
    rank, _ := c.Do("ZRANK", "salary", "Tom")
    fmt.Println("Tom's rank is:", rank)
    rank, _ = c.Do("ZRANK", "salary", "Lily")
    fmt.Println("Lily's rank is:", rank)
    rank, _ = c.Do("ZRANK", "salary", "Paul")
    fmt.Println("Paul's rank is:", rank)
    rank, _ = c.Do("ZRANK", "salary", "Jesse")
    fmt.Println("Jesse's rank is:", rank)
    //  If specified member doesn't exist, returns nil.
    nilScore, _ := c.Do("ZRANK", "salary", "fakeMember")
    fmt.Println("If specified member doesn't exist, returns", nilScore)
    //  If key doesn't exist, returns nil.
    isExist, _ := c.Do("EXISTS", "fakeSortedSetKey")
    if isExist == 1 {
        c.Do("DEL", "fakeSortedSetKey")
    }
    nilScore, _ = c.Do("ZRANK", "fakeSortedSetKey", "fakeMember")
    fmt.Println("If key doesn't exist, returns", nilScore)
}

Output

$ go run main.go 
Tom's rank is: 0
Lily's rank is: 1
Paul's rank is: 2
Jesse's rank is: 3
If specified member doesn't exist, returns <nil>
If key doesn't exist, returns <nil>

相关文章

  • ZRANK

    ZRANK 返回有序集中指定成员的排名,按分数值递增(从小到大)顺序排列。 ZREVRANK就是从大到小排序,其他...

  • redis 08 五大数据类型-zset

    zadd/zrange zrangebyscore zrem zrange/zcard/zcount/zrank/...

  • zset类型排名

    语法 ZRANK key member 返回有序集 key 中成员 member 的排名。其中有序集成员按 sco...

网友评论

      本文标题:ZRANK

      本文链接:https://www.haomeiwen.com/subject/wpqyvhtx.html