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

相关推荐
凭X而动14 小时前
postgresql18.1部署
数据库·postgresql
万邦科技Lafite14 小时前
京东商品详情 API 接口全面讲解
java·数据库·redis·api·电商开放平台
无风听海14 小时前
MongoDB GridFS 一些处理细节解析
数据库·mongodb
青云计划14 小时前
Mysql
数据库·mysql
KANGBboy14 小时前
hadoop冷热数据分离
大数据·hadoop·分布式
skilllite作者14 小时前
Evotown——开启本地化、可验证的AI智能体进化新时代
人工智能·分布式·安全·搜索引擎·agentskills
SelectDB14 小时前
Agent 应用范式下,企业数据基础设施如何演进?
大数据·数据库·数据分析
杜子不疼.14 小时前
【C++ AI 大模型接入 SDK】 - 环境搭建
开发语言·数据库·c++
qq_2837200514 小时前
Milvus 向量数据库全链路优化实战教程
数据库·milvus
m0_7020365314 小时前
CSS如何兼容新旧方案结合响应式容器查询
jvm·数据库·python