分布式-Redis分布式锁

Redis实现分布式锁优点

(1)Redis有很高的性能; (2)Redis命令对此支持较好,实现起来比较方便

实现思路

(1)获取锁的时候,使用setnx加锁,并使用expire命令为锁添加一个超时时间,超过该时间则自动释 放锁,锁的value值为一个随机生成的UUID,通过此在释放锁的时候进行判断。 (2)获取锁的时候还设置一个获取的超时时间,若超过这个时间则放弃获取锁。 (3)释放锁的时候,通过UUID判断是不是该锁,若是该锁,则执行delete进行锁释放。

代码:

复制代码
//分布式锁
RLock lock = redissonClient.getLock("标识:" + id);
复制代码
// 是否存在分布式锁
if (lock.tryLock(20, 30, TimeUnit.SECONDS)) {

}

相关推荐
speop10 分钟前
【datawhale组队学习】RAG技术 -TASK05 向量数据库实践(第三章3、4节)
数据库·学习
EnigmaCoder10 分钟前
【Linux】用户与用户组管理
linux·运维·服务器·数据库
lssjzmn20 分钟前
针对不同使用场景,Redis的Value应该如何序列化,优缺点如何,进来看
spring boot·redis
鱼骨不是鱼翅32 分钟前
redis---set详解
redis
工业甲酰苯胺32 分钟前
Redis支持事务吗?了解Redis的持久化机制吗?
数据库·redis·bootstrap
tan77º1 小时前
【项目】分布式Json-RPC框架 - 抽象层与具象层实现
linux·服务器·c++·分布式·tcp/ip·rpc·json
NineData1 小时前
NineData 最新发布 SQL Server 双向实时同步功能
数据库·后端·架构
手握风云-1 小时前
MySQL数据库精研之旅第十一期:打造高效联合查询的实战宝典(二)
数据库·mysql
Jasonakeke2 小时前
【重学MySQL】八十九、窗口函数的分类和使用
数据库·mysql
云飞云共享云桌面2 小时前
共享云服务器替代传统电脑做三维设计会卡顿吗
大数据·运维·服务器·数据库·自动化