关于锁的key的CreateRevision会等于0
来源:4-11 事务txn实现分布式锁(上)
慕九州9313697
2020-01-15
// 确保函数退出后, 自动续租会停止
defer cancelFunc()
defer lease.Revoke(context.TODO(), leaseId)
…
…
// 如果key不存在
txn.If(clientv3.Compare(clientv3.CreateRevision("/cron/lock/job9"), “=”, 0)).
Then(clientv3.OpPut("/cron/lock/job9", “xxx”, clientv3.WithLease(leaseId))).
Else(clientv3.OpGet("/cron/lock/job9")) // 否则抢锁失败
这段代码,lease.Revoke会将key的CreateRevision变成0吗,平时删除key或者cancelFunc() 这个操作不会将key的CreateRevision变成0的,下一次CreateRevision会再之前创建过的基础上+1
求解答
写回答
1回答
-
小鱼儿老师
2020-01-19
revision不会回退,是raft算法里的term id。
00
相似问题