gpt4 book ai didi

tidb - 如何直接删除 TiKV 中的数据?

转载 作者:行者123 更新时间:2023-12-04 14:54:12 27 4
gpt4 key购买 nike

我用 tikvTxn 直接将 key-value 数据写入 TiKV,跳过 TiDB。

db, err := driver.Open("tikv://127.0.0.1:2379?disableGC=true")
txn, _:= db.Begin()
txn.set(key, value)
txn.commit(context.Background())
...

我无法通过删除 TiDB 中的表来清理 TiKV 中的数据。

如何删除所有插入 TiKV 的数据?

最佳答案

要删除通过 txnkv API 插入的数据,您可以:

db, _ := driver.Open("tikv://127.0.0.1:2379?disableGC=false")
txn, _ := db.Begin()
txn.Delete(key)
txn.Commit(context.Background())
...

Txnkv 基于MVCC,所以 Delete不会回收磁盘空间。相反,它会插入一个特殊版本,表明 key 已被删除。

如果你的集群中有一个 TiDB,并且它开启了 GC,那么在一个 GC 间隔后,key 会被物理地自动删除。

否则,您需要运行 GC 作业以将其从磁盘中删除。
import "github.com/pingcap/tidb/store/tikv/gcworker"

gcworker.RunGCJob(ctx context.Context, s tikv.Storage, safePoint uint64, identifier string, concurrency int)

关于tidb - 如何直接删除 TiKV 中的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50832393/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com