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. }