• ZRem
    ZRem

    删除指定成员key在一个指定的有序集合bucket中。

    1. if err := db.Update(
    2. func(tx *nutsdb.Tx) error {
    3. bucket := "myZSet5"
    4. key1 := []byte("key1")
    5. return tx.ZAdd(bucket, key1, 10, []byte("val1"))
    6. }); err != nil {
    7. log.Fatal(err)
    8. }
    9. if err := db.Update(
    10. func(tx *nutsdb.Tx) error {
    11. bucket := "myZSet5"
    12. key2 := []byte("key2")
    13. return tx.ZAdd(bucket, key2, 20, []byte("val2"))
    14. }); err != nil {
    15. log.Fatal(err)
    16. }
    17. if err := db.View(
    18. func(tx *nutsdb.Tx) error {
    19. bucket := "myZSet5"
    20. if nodes,err := tx.ZMembers(bucket); err != nil {
    21. return err
    22. } else {
    23. fmt.Println("before ZRem key1, ZMembers nodes",nodes)
    24. for _,node:=range nodes {
    25. fmt.Println("item:",node.Key(),node.Score())
    26. }
    27. }
    28. // before ZRem key1, ZMembers nodes map[key1:0xc00008cfa0 key2:0xc00008d090]
    29. // item: key1 10
    30. // item: key2 20
    31. return nil
    32. }); err != nil {
    33. log.Fatal(err)
    34. }
    35. if err := db.Update(
    36. func(tx *nutsdb.Tx) error {
    37. bucket := "myZSet5"
    38. if err := tx.ZRem(bucket, "key1"); err != nil {
    39. return err
    40. }
    41. return nil
    42. }); err != nil {
    43. log.Fatal(err)
    44. }
    45. if err := db.View(
    46. func(tx *nutsdb.Tx) error {
    47. bucket := "myZSet5"
    48. if nodes,err := tx.ZMembers(bucket); err != nil {
    49. return err
    50. } else {
    51. fmt.Println("after ZRem key1, ZMembers nodes",nodes)
    52. for _,node:=range nodes {
    53. fmt.Println("item:",node.Key(),node.Score())
    54. }
    55. // after ZRem key1, ZMembers nodes map[key2:0xc00008d090]
    56. // item: key2 20
    57. }
    58. return nil
    59. }); err != nil {
    60. log.Fatal(err)
    61. }