请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于锁的key的CreateRevision会等于0

// 确保函数退出后, 自动续租会停止
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
求解答

正在回答 回答被采纳积分+3

1回答

小鱼儿老师 2020-01-19 10:00:14

revision不会回退,是raft算法里的term id。

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信