首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何直接删除TiKV中的数据?

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

Stack Overflow用户
提问于 2018-06-13 16:21:39
回答 1查看 362关注 0票数 3

我使用tikvTxn将键值数据直接写入TiKV,并跳过TiDB。

代码语言:javascript
运行
复制
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中的所有数据?

EN

回答 1

Stack Overflow用户

发布于 2018-07-16 13:18:44

删除通过txnkv接口插入的数据,您可以:

代码语言:javascript
运行
复制
db, _ := driver.Open("tikv://127.0.0.1:2379?disableGC=false")
txn, _ := db.Begin()
txn.Delete(key)
txn.Commit(context.Background())
...

Txnkv基于MVCC,因此Delete不会回收磁盘空间。相反,它会插入一个特殊的版本,该版本指示密钥已被删除。

如果您的集群中有一个TiDB,并且它启用了GC,那么该密钥将在GC间隔后以物理方式自动删除。

否则,您需要运行GC作业将其从磁盘中删除。

代码语言:javascript
运行
复制
import "github.com/pingcap/tidb/store/tikv/gcworker"

gcworker.RunGCJob(ctx context.Context, s tikv.Storage, safePoint uint64, identifier string, concurrency int)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50832393

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档