Redis实现分布式锁

一.分布式锁需要解决的问题

二.使用命令

SETNX key value :如果key不存在,则创建并赋值

set if-Not-Exist

意思就是a线程执行就是1 其它线程过来就是0 要等a结束过期 其它线程过来就1了

三.如何解决SETNX长期有效问题

1.伪代码【有风险】原子性!!因为它变成了俩个操作了

expire设置过期时间 如果在设置过期时间前挂掉了 就被永久占用 key

2.redis版本2.6后 将 setnx 和 expire变为一个操作

重要:

操作:

四.

补充:

到了过期时间,业务代码还没有执行完成 怎么办?

1.守护线程

2.redisson看门狗【其实也守护线程】

#23届找工作求助阵地##机械制造薪资爆料##通信硬件薪资爆料##我的实习求职记录#
全部评论
感谢楼主的思路
1 回复 分享
发布于 2023-02-11 13:18 湖北
狠狠收藏了
1 回复 分享
发布于 2023-02-11 13:18 陕西
version2:补充锁续期问题
点赞 回复 分享
发布于 2023-03-07 11:37 广东

相关推荐

评论
2
10
分享

创作者周榜

更多
牛客网
牛客企业服务