首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
接一个顺利好运
门头沟学院 Java
发布于江苏
关注
已关注
取消关注
@Java大湿兄:
Java常见面试题:如何使用Redis实现分布式锁?
首先来说 Redis 作为一个独立的三方系统,其天生的优势就是可以作为一个分布式系统来使用,因此使用 Redis 实现的锁都是分布式锁,理解了这个概念才能看懂本文所说的内容。分布式锁的示意图,如下所示:分布式锁实现使用 Redis 实现分布式锁,可以通过 setnx(set if not exists)命令实现,当我们使用 setnx 创建键值成功时,则表明加锁成功,否则既代码加锁失败。因为 Redis 主线程是单线程运行的,所以也不会有同时加锁成功的情况。实现命令如下:127.0.0.1:6379> setnx lock true(integer) 1 #创建锁成功#逻辑业务处理...127.0.0.1:6379> del lock(integer) 1 #释放锁当我们重复加锁时执行结果如下:127.0.0.1:6379> setnx lock true # 第一次加锁(integer) 1127.0.0.1:6379> setnx lock true # 第二次加锁(integer) 0从上述命令中可以看出,我们可以使用执行的结果是否为 1 来判断加锁是否成功。分布锁问题然而,使用 setnx 实现分布锁有一个【死锁问题】,就是当加锁的线程(或应用)掉电或崩溃之后,其他线程只能无限等待下去的问题。此时,我们解决死锁问题可以通过添加设置锁的过期时间来实现。也就是 setnx 和 expire 配合使用,在 Redis 2.6.12 版本之后,新增了一个强大的功能,我们可以使用一个原子操作也就是一条命令来执行 setnx 和 expire 操作了,实现命令如下:127.0.0.1:6379> set lock true ex 30 nxOK #创建锁成功127.0.0.1:6379> set lock true ex 30 nx(nil) #在锁被占用的时候,企图获取锁失败其中 ex 为设置超时时间, nx 为元素非空判断,用来判断是否能正常使用锁的。小结Redis 作为一个独立的三方系统,其优势是天生可以实现分布式锁。它实现分布式锁是通过 setnx 来实现的,然而只有 nx(not exists)可能会发生死锁的问题,所以我们最终实现死锁应该使用 set nx ex 的方式来实现。小思考:当设置了过期时间之后,Redis 实现分布式依然会有一个小小的问题,有人知道这个问题和解决方案吗?欢迎评论区写出你的答案。此文章点赞过 100,我会给出标准答案。
点赞 2
评论 1
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
03-24 22:59
东华大学 Java
这个简历可以吗,有人能指导一下吗
点赞
评论
收藏
分享
今天 00:21
江南大学 算法工程师
AI 真能替代人类吗
xdm,我今天突然乐观了。 前两天一哥们私聊我,问要不要加入他的初创团队,做兼职。哥们对自己的项目非常的自信。大意是他做产品,负责调研市场,出方案,我干其中一部分活,做完项目之后挂平台卖,按成交量分成。画了一张非常大的饼:现在有完善的方案,我们只需要每天3-5小时,大概5天就做成一个项目,卖出一单后分成至少1w。 算日薪很高,对不对? 在我看到他的方案之前一切都正常。方案是邮件发给我的,字数还挺多,分工和步骤都挺明确的——好了,这就是全部的优点了。 他熬夜写出来的这个方案的可行性几乎为0。他想要训练一个模型,但市面上根本没数据,他的星期项目团队也当然是没有实验室来获取数据;他想验证模型鲁棒性,...
AI求职实录
点赞
评论
收藏
分享
03-03 19:02
已编辑
东华理工大学 Node.js
倒反天罡
真投了你又不给ps:楼主其实比起去大厂当螺丝钉 更想去一些初创公司或外企。楼主是一年不到的社招。
嵌入式的小白:
估计消息就是海发的,和海投简历一样
点赞
评论
收藏
分享
03-17 13:56
湖南大学 Java
27届找暑期,简历求拷打
本2硕9,力扣是没刷完的,八股是没背完的,准备先投中小厂练练手,逼自己先面试找找感觉。大厂到底什么时候才配投啊,看了面经能掰扯的最多才一半
今天你投了哪些公司?
点赞
评论
收藏
分享
03-24 10:58
牛客_社区内容运营
长得再好看,简历写得烂也是达咩!(附面试官看简历习惯)
总被"网传"我是颜🐶面试官,但殊不知在我手下被pass的帅哥美女有多少(一个手绝对数不清)自证清白😁还有,我们社区plmm/dd就是多,这可不赖我哦言归正传,作为一个面试官,说说我看简历的习惯吧!1.简历样式越简单越好,不要花里胡哨大面积的色块,达咩❌颜色过于鲜亮,达咩❌白底、黑/藏蓝/深灰字即可,尽量干净整洁✅篇幅上,校招一页搞定,社招最多两页。写了三四页的同学……我真的看不完2.习惯从上往下看:希望你的简历不要出现与本次岗位无关的信息比如:你身高体重(无人在意,不是招超模,不用写)你的身份证号(咱注意一下信息保密)你的驾照、潜水证、一切与本工作无关的证件(我们没有特...
长得好看会提高面试通过率...
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
双非选手的求职的感悟
2758
2
...
美团暑期实习一面
2735
3
...
阿里笔试竟然考了AI提示词。。。
2108
4
...
暑期结束,拥抱腾讯了
1683
5
...
双非两段大厂实习0offer,我做对了什么
1620
6
...
携程3.25Java开发二面面经
1596
7
...
字节一面-飞书后端暑期实习
1507
8
...
京东零售暑期一面
1329
9
...
快手暑期前端一面 3.25
1162
10
...
感谢信
1099
创作者周榜
更多
正在热议
更多
#
你的实习产出是真实的还是包装的?
#
19646次浏览
342人参与
#
中国电信笔试
#
31503次浏览
284人参与
#
开放七大实习专项,百度暑期实习值得冲吗
#
14737次浏览
217人参与
#
春招至今,你的战绩如何?
#
63043次浏览
572人参与
#
如果秋招能重来,我会____
#
96847次浏览
500人参与
#
一张图晒出你司的标语
#
4120次浏览
74人参与
#
厦门银行科技岗值不值得投
#
7757次浏览
186人参与
#
i人适合做什么工作
#
37068次浏览
124人参与
#
我是面试官,请用一句话让我破防
#
79658次浏览
219人参与
#
金三银四,你的春招进行到哪个阶段了?
#
21906次浏览
280人参与
#
哪些公司真双非友好?
#
69468次浏览
287人参与
#
投递几十家公司,到现在0offer,大家都一样吗
#
340455次浏览
2170人参与
#
AI面会问哪些问题?
#
26786次浏览
536人参与
#
找AI工作可以去哪些公司?
#
8552次浏览
217人参与
#
从事AI岗需要掌握哪些技术栈?
#
8451次浏览
283人参与
#
面试尴尬现场
#
220916次浏览
861人参与
#
五一之后,实习真的很难找吗?
#
102863次浏览
584人参与
#
你做过最难的笔试是哪家公司
#
32118次浏览
215人参与
#
应届生第一份工资要多少合适
#
20615次浏览
86人参与
#
聊聊你的职场新体验
#
336292次浏览
1894人参与
#
你小时候最想从事什么职业
#
159946次浏览
2072人参与
#
阿里笔试
#
177831次浏览
1307人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务