SDiffByOneBucket

返回一个集合与给定集合的差集的元素。这两个集合都在一个bucket中。

  1. key1 := []byte("mySet1") // 集合1
  2. key2 := []byte("mySet2") // 集合2
  3. bucket := "bucketForSet"
  4. if err := db.Update(
  5. func(tx *nutsdb.Tx) error {
  6. return tx.SAdd(bucket, key1, []byte("a"), []byte("b"), []byte("c"))
  7. }); err != nil {
  8. log.Fatal(err)
  9. }
  10. if err := db.Update(
  11. func(tx *nutsdb.Tx) error {
  12. return tx.SAdd(bucket, key2, []byte("c"), []byte("d"))
  13. }); err != nil {
  14. log.Fatal(err)
  15. }
  16. if err := db.View(
  17. func(tx *nutsdb.Tx) error {
  18. if items, err := tx.SDiffByOneBucket(bucket, key1, key2); err != nil {
  19. return err
  20. } else {
  21. fmt.Println("SDiffByOneBucket:", items)
  22. for _, item := range items {
  23. fmt.Println("item", string(item))
  24. }
  25. //item a
  26. //item b
  27. }
  28. return nil
  29. }); err != nil {
  30. log.Fatal(err)
  31. }