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

相关推荐
ACP广源盛1392462567315 小时前
2026 PCIe互连芯片@ACP#国产替代格局解析:芯动科技领跑高端交换芯片赛道
大数据·网络·数据库·人工智能·分布式·嵌入式硬件
代码代码快快显灵15 小时前
MYSQL-DAY2
数据库·mysql
隔窗听雨眠15 小时前
Oracle到PostgreSQL迁移实战:pg_hint_plan执行计划控制完全指南
数据库·postgresql·oracle
creator_Li15 小时前
Kafka深入刨析-Consumer
分布式·kafka
IKUN家族16 小时前
常见的依懒
java·服务器·数据库
DBA_G16 小时前
解析GBase 8s数据库锁机制
数据库·oracle
captain37616 小时前
多线程进阶
java·开发语言·数据库
initialize130616 小时前
Oracle数据库 binary XML data类型同步
xml·数据库
倔强的石头10616 小时前
连接池参数治理-HikariCP怎么配才稳
数据库·oracle
国科安芯16 小时前
四通道集成降压稳压器在低轨卫星星座分布式供电架构中的应用研究
分布式·架构·电源管理系统·低轨卫星星座·分布式供电·dc-dc降压稳压器·抗辐射加固