TiKV 如何支持TTL

我们现在需要使用TiKV的TTL功能,在Add TTL support for rawkv中已经支持了ttl ,有两个问题想问下,

  1. tikv 是支持mvcc的,也就是说内部有多个版本的数据,它是如何做到ttl
  2. TxnKV client 是否支持ttl?
2 个赞

目前只支持 RawKV

1 个赞

TiKV是支持MVCC 的,也即

key_version1:value
key_version2:value

那么调用RawKV 进行设置TTL,是将全部版本都设置ttl?,如果有任何想法,希望跟我说下,非常感谢

rawkv 不使用 MVCC,每个key只有一个版本,也即后来 put 的 TTL 会覆盖前面的,TTL 过期后 key 会被删除。

2 个赞

Hi @John520,请问你是正在测试 RawKV 吗,除了遇到 TTL 的问题以外,是否还有其他问题?

最近在调研TiKV,还遇到一个问题, what dose lockkeys in tikv api use for?

这个问题我看在 Stack Overflow 上有回复了了,是有什么其他问题吗?另外你现在用的是 go client?

stack overflow 并没有给出panic 原因,我目前用的是go client。是不是我lockkeys 的使用没有用对姿势。

请问一下,如果前面key设置了ttl,后面put不带ttl,是否会把前面设置的ttl清掉?比如:

  • set a = 1
  • ttl a = 100s
  • set a = 2 <= 更新a会导致ttl失效吗?

有三个节点的话,每一个节点都要修改吗?

此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。