姗姗来迟的Redis分布式锁

439fa547e4676ac923d12a4a5bd5e1e7.png

若有收获,请记得分享和转发哦

在开始提到Redis分布式锁之前,我想跟大家聊点Redis的基础知识。

说一下Redis的两个命令:

SETNX key value

setnx 是SET if Not eXists(如果不存在,则 SET)的简写。

10077f747613f0509f6561bdcc8f0740.png

用法如图,如果不存在set成功返回int的1,这个key存在了返回0。

SETEX key seconds value

将值 value 关联到 key ,并将 key 的生存时间设为 seconds (以秒为单位)。

如果 key 已经存在,setex命令将覆写旧值。

有小伙伴肯定会疑惑万一set value 成功 set time失败,那不就傻了么,这啊Redis官网想到了。

setex是一个原子性(atomic)操作,关联值和设置生存时间两个动作会在同一时间内完成。

48fcc047df297e412e90e9ba73de8a16.png

我设置了10秒的失效时间,ttl命令可以查看倒计时,负的说明已经到期了。

跟大家讲这两个命名也是有原因的,因为他们是Redis实现分布式锁的关键。

290b8d543c1413af12cff067db0e1cb4.png

01624f7818bc696bb2bbd8524b5eef93.png

6dc5aa6844b135a4c4a10bd7412f600f.png

85d4d94ee6afb710874da81063b00727.png

b02c197c3fd75d6ec00790b79d7cee4a.png

8a0556ae76d2cd6a850fadffe53af727.png

2c499368a1b7a9024ac0d36b42ef0331.png

68457733bbf8242a20d32d85437ad147.png

e3c4bd406407950f547894e40ff016cc.png

9a3cdf36161bebf4c39470bc78ccf03a.png

914c0f3a24a2904940ed472a36e47620.png

f1c1b156691d0f560474b5b6615864fa.png

90c0c8b304d99d17c1392cd0154dffab.png

eaefa33420f1a9080312f048fd322da1.png

15d9ad7a5610eaef4df6409caa63952e.png

63ea19ec85076c967472980bcd050faf.png

3fce264ea6871e0dcbc804ccdb63325f.png

a33d03a7c2442ed2da0b5207bd7bbe1c.png

c8903eab12bb09c5fe93e5755dcde93d.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值