本文主要是介绍【Redis实现分布式锁】1.set加锁 2.解锁(是否自己加的锁和真正解锁代码2个操作的原子性问题需用lua脚本解决),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1)基本加锁的代码
jedis.set(String key, String value, String nxxx, String expx, int time)
2)解锁
解锁的话,由于要判断是不是自己加的锁 和 真正解锁操作不是原子的,需要结合lua脚本实现原子性操作。因此分布式锁最好用redisson,更加的方便。
理解:
key: 来当锁
value: 解铃还须系铃人,用于验证客户端
nxxx: NX (SET IF NOT EXIST),就是:key不存在则执行set操作
expx: EX:秒 PX:毫秒
time: 间隔,单位就是参数4
返回值:
"OK": 成功
null: 失败. 包括nxxx
这篇关于【Redis实现分布式锁】1.set加锁 2.解锁(是否自己加的锁和真正解锁代码2个操作的原子性问题需用lua脚本解决)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!