• SDiffByTwoBuckets
    SDiffByTwoBuckets

    返回一个集合与给定集合的差集的元素。这两个集合分别在不同bucket中。

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