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 广东

相关推荐

08-06 16:46
门头沟学院 Java
这是正常招聘吗?🙄测评颠得要死 真填不下去
鲁大牛:真是个纸张公司。我综测瞎写的还是进笔试了,笔试大部分都空着还是进面试了。一面一口气问了我15道八股文我都答对了,算法也A出来了。结果一面挂了
投递多益网络等公司10个岗位
点赞 评论 收藏
分享
08-07 11:41
安徽大学 Java
点赞 评论 收藏
分享
06-25 09:33
厦门大学 Java
球球别拷打俺了:现在日常估计没啥hc了,等到八月多估计就慢慢有了。双九✌🏻不用焦虑的
投递快手等公司10个岗位
点赞 评论 收藏
分享
评论
2
10
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务