代码拉取完成,页面将自动刷新
使用
Redis
实现分布式锁
直接调用
RedisLockUtils.tryLock(final RedisTemplate jedisTemplate, final String lockName, final int lockTimeout, final int acquireTimeout, final long retryDuration)
;
参数介绍:
主要用到的是redis函数
setNX()
,这个应该是实现分布式锁最主要的函数。首先是将某一任务标识名(lockKey)作为键存到redis里,并为其设个过期时间,如果是还有lockKey请求过来,先是通过setNX()
看看是否能将lockKey插入到redis里,可以的话就返回true,不可以就返回false。
为避免特殊原因导致获得的锁无法释放,在加锁成功后,通过redis函数
expire()
给锁赋予一个生存时间,超出生存时间锁会被自动释放。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型