Redisson分布式锁官方介绍

setnx应该使用带时间戳的,Redis底层实现了原子性。

Redission的RLock是使用Lua脚本保证原子性。而且支持重入,第一次抢锁时建立一个Hash结构,key是锁的名称,Filed是抢到锁的进程中的线程名称,value是重入次数。而且不指定过期时间时,可以自动续期,默认30秒,10秒时重置为30秒,可以防止一开始实际执行时间超过过期时间,或者在用户量增加,数据量增加后执行时间变长,或者下游服务时间执行超时,或者中间件执行超时。而且,服务宕机后,Redis连接断开,会自动释放锁。

RedissonMultiLock可以用于多个锁加锁成功才成功。

在一主一从时,如果主加了锁,但复制到从节点前就断开连接,从节点成为主节点之后会感知不到加锁。
可以使用RedissonRedLock,是Redisson Redistribution Lock简称,这种锁会在多个节点加锁成功后才算成功,所以即使没有加锁的从节点成为主节点,也不会影响加锁结果判断。

记录一下Redisson分布式锁官方介绍,红锁那块介绍不对:
https://github.com/redisson/redisson/wiki/8.-%E5%88%86%E5%B8%83%E5%BC%8F%E9%94%81%E5%92%8C%E5%90%8C%E6%AD%A5%E5%99%A8#84-%E7%BA%A2%E9%94%81redlock

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风铃峰顶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值