• ZRank
    ZRank

    返回有序集bucket中成员指定成员key的排名。其中有序集成员按score值递增(从小到大)顺序排列。注意排名以1为底,也就是说,score值最小的成员排名为1。
    这点和Redis不同,Redis是从0开始的。

    1. // ZAdd
    2. if err := db.Update(
    3. func(tx *nutsdb.Tx) error {
    4. bucket := "myZSet4"
    5. key1 := []byte("key1")
    6. return tx.ZAdd(bucket, key1, 70, []byte("val1"))
    7. }); err != nil {
    8. log.Fatal(err)
    9. }
    10. if err := db.Update(
    11. func(tx *nutsdb.Tx) error {
    12. bucket := "myZSet4"
    13. key2 := []byte("key2")
    14. return tx.ZAdd(bucket, key2, 90, []byte("val2"))
    15. }); err != nil {
    16. log.Fatal(err)
    17. }
    18. if err := db.Update(
    19. func(tx *nutsdb.Tx) error {
    20. bucket := "myZSet4"
    21. key3 := []byte("key3")
    22. return tx.ZAdd(bucket, key3, 86, []byte("val3"))
    23. }); err != nil {
    24. log.Fatal(err)
    25. }
    26. // ZRank
    27. if err := db.View(
    28. func(tx *nutsdb.Tx) error {
    29. bucket := "myZSet4"
    30. key1 := []byte("key1")
    31. if rank, err := tx.ZRank(bucket, key1); err != nil {
    32. return err
    33. } else {
    34. fmt.Println("key1 ZRank :", rank) // key1 ZRank : 1
    35. }
    36. return nil
    37. }); err != nil {
    38. log.Fatal(err)
    39. }