分布式锁2:基于redis实现分布式锁

一 redis实现分布式锁

1.1 原理

setnx+expire+del 命令实现redis的分布式锁;其中 setnx 不存在则新增;存在则忽略。即先用setnx来抢锁,如果抢到之后,再用expire给锁设置一个过期时间,防止锁忘记了释放。例如:

setnx lock 111 ex 20 nx

**但是如果expire无法执行, 会导致死锁,**redis中setnx+expire是非原子操作, 除了用LUA脚本保证实现原子操作, 其实可以直接使用redis自带的set方法直接实现.

相关推荐
AC赳赳老秦2 分钟前
OpenClaw与思维导图工具联动:自动生成工作规划脑图、拆解任务节点,适配职场管理
java·大数据·服务器·数据库·python·php·openclaw
IronMurphy19 分钟前
Redis拷打第六讲
redis·spring·mybatis
zhishijike22 分钟前
全国行政区划sql(省市区)
数据库·sql·mysql
早川91927 分钟前
Hbase、MySQL和Redis区别
redis·mysql·hbase
KaMeidebaby31 分钟前
卡梅德生物技术快报|单 B 细胞抗体技术:全犬源单抗制备流程、关键参数与性能验证
前端·数据库·其他·百度·新浪微博
KG_LLM图谱增强大模型36 分钟前
scHilda:大模型与知识图谱分层融合,突破单细胞分型瓶颈
数据库·人工智能·知识图谱
凯瑟琳.奥古斯特38 分钟前
力扣3654:二维矩阵连续空位统计
数据结构·数据库·算法·职场和发展
qq_5470261791 小时前
SpringBoot + Redis 电商秒杀完整方案
spring boot·redis·后端
富士康质检员张全蛋1 小时前
Kafka架构 HW和LEO
分布式·kafka
满昕欢喜1 小时前
SQL Server的概述与安装
数据库·sqlserver