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

相关推荐
雨辰AI3 分钟前
信创数仓分层建模|国产数据库 ODS/DWD/DWS 分层落地规范(金仓 / 达梦 / 高斯适配)
数据库·云原生·政务
风哥2号31 分钟前
MySQL8.x/9.x数据库安装自动化全过程-Fgedu
数据库·mysql自动化安装
江畔柳前堤41 分钟前
具身智能全景深度指南(2026年9月版):从“会聊天的AI“到“能干活的机器“
大数据·javascript·图像处理·人工智能·分布式·智慧城市·原型模式
疯狂打码的少年44 分钟前
【数据库技术】SQL数据查询(SELECT基本语法)
数据库·笔记·sql·oracle
程序员黎剑1 小时前
Redis缓存击穿:热点Key过期打崩数据库的3种解决方案
数据库·redis·缓存
Carl_.Net软开1 小时前
NSSM后台启动influx时序数据库
数据库·时序数据库
IPdodo_1 小时前
静态 IP 访问异常排查:403/429 归因与迁移验收
服务器·网络·数据库·python·网络协议·php·性能测试
DevOpenClub1 小时前
PDF 多格式解析如何避免混用输出:TEXT、HTML、XML 与 TAG 数据契约
xml·前端·数据库·pdf·html
夕除2 小时前
redis--010
笔记·分布式·学习
meilindehuzi_a2 小时前
从域名到数据库:React + Node.js 项目部署全流程与用户访问链路
数据库·react.js·node.js