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

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