分布式锁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方法直接实现.

相关推荐
DBA_G24 分钟前
GBase 8a数据库执行计划查看方式解析
数据库
初願致夕霞30 分钟前
MySQL_事务(MVCC机制详解)
数据库·mysql
cspttty1 小时前
银行数据分析校招能力模型:SQL、指标体系、可视化与AI辅助分析
数据库
这个DBA有点耶2 小时前
AI Agent操作数据库的安全边界:只读沙箱、操作预演与自动回滚如何落地?
数据库·sql·程序人生·aigc·数据库架构·dba
灯澜忆梦2 小时前
【Redis中间件】#2 | 基础数据类型语法
redis·后端
ss2732 小时前
Java全栈实战 | 1.3-03 索引原理:联合索引 (a,b,c) 只查 b 走不了索引?B+ 树一图讲透所有索引玄学
java·数据库
天天喝旺仔2 小时前
深入理解 JWT:从 Token 结构、签名机制到前后端鉴权实战
redis·安全·spring·微服务·https
聚美智数2 小时前
车辆合格证OCR识别-机动车合格证识别-车辆合格证OCR‑机动车出厂证解析‑整车参数提取 API 接口介绍
数据库·经验分享
一只小李郁vickie2 小时前
Redis 集群部署手册(3主3从)
运维·redis
DBA_G2 小时前
南大通用技术分享:GBase 8a数据库执行计划架构原理解析
数据库