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

相关推荐
星云API|微信接口开发1 小时前
企业微信二次开发实战笔记:如何用在线调试快速验证接口功能
数据库·笔记·企业微信
隔窗听雨眠7 小时前
记一次SQL Server数据库性能分析:从CPU100%到单配置修复的完整诊断
开发语言·数据库·php
samson_www7 小时前
Oracle数据泵拷贝表空间
数据库·dba
呆萌很8 小时前
MySQL 8.4 LTS 完整安装教程
数据库·mysql
天空'之城8 小时前
单片机基础核心知识点汇总(三十三)
数据库·单片机·嵌入式硬件
爱吃苹果的日记本10 小时前
数据结构第一课
c语言·数据结构·数据库·学习·c#
hweiyu0010 小时前
Redis命令:UNLINK
redis·缓存
张小姐的猫10 小时前
【AI大模型接入SDK】 —— Gemini接入封装
android·数据结构·数据库·c++·人工智能·python
Shaoxi Zhang10 小时前
Redis基础——五种核心数据结构(“容器”)
redis