分布式-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)) {

}

相关推荐
AllenO.o16 分钟前
Redis五种数据结构详解
java·数据结构·数据库·redis·缓存
消失在人海中25 分钟前
数据分析基础:需要掌握的入门知识
数据库·人工智能·数据分析
闪电麦坤9528 分钟前
SQL:SELF JOIN(自连接)与CROSS JOIN(交叉连接)
数据库·sql·mysql
码农飞哥1 小时前
互联网大厂Java面试实战:从Spring Boot到微服务的技术问答与解析
java·数据库·spring boot·安全·微服务·面试·电商
周盛欢1 小时前
数据库故障排查指南
数据库·mysql
onkel in blog2 小时前
【Docker】Docker Compose方式搭建分布式内存数据库(Redis)集群
数据库·redis·分布式·docker
Minyy112 小时前
“爱生活”小项目问题总结
java·数据库·spring boot·spring·maven·intellij-idea
大G哥2 小时前
【SQL 周周练】爬取短视频发现数据缺失,如何用 SQL 填充
数据库·sql
Qdgr_2 小时前
电厂数据库未来趋势:时序数据库 + AI 驱动的自优化系统
数据库·人工智能·时序数据库
搏博2 小时前
软件工程之需求分析涉及的图与工具
数据库·软件工程·软件构建·软件需求