Redis分布式锁

145 阅读1分钟

看老大经常面评提到redis锁。学习一波。

  • setnx
  • redLock
  • redisson

setnx

常说的setnx命令,并非单指redis的setnx key value这条命令 一般代指redis中对set命令加上nx参数进行使用 set这个没吃 SET key value [EX seconds|PX milliseconds] [NX|XX] [KEEPTTL]

主要依托key不存在才能set成功的特性。进程A拿到锁,在没有删除锁key时,进程B自然获取锁失败了。 为什么px 30000设置时间 怕进程A崩掉 删除锁正确姿势 就是使用Lua脚本。通过redis的eval/evalsha命令运行 Redisson

参考 zhuanlan.zhihu.com/p/111354065…