请问tikv中如何实现一个batch中既有put操作,又有delete操作

在 TiKV 中,可以使用 RawKV 接口来执行 Put 和 Delete 操作。以下是一个简单的示例,展示了如何在一个 Batch 操作中执行 Put 和 Delete 操作:

package main

import (
	"context"
	"fmt"
	"github.com/tikv/client-go/config"
	"github.com/tikv/client-go/rawkv"
)

func main() {
	// 创建 RawKV 客户端
	cli, err := rawkv.NewClient(context.Background(), []string{"127.0.0.1:2379"}, config.Security{})
	if err != nil {
		fmt.Printf("Failed to create TiKV client: %v\n", err)
		return
	}
	defer cli.Close()

	batch := cli.NewWriteBatch()

	// 添加 Put 操作
	batch.Put([]byte("key1"), []byte("value1"))

	// 添加 Delete 操作
	batch.Delete([]byte("key2"))

	// 提交 Batch 操作
	err = batch.Write()
	if err != nil {
		fmt.Printf("Failed to write batch: %v\n", err)
		return
	}

	fmt.Println("Batch operation completed successfully")
}